[{"data":1,"prerenderedAt":551},["ShallowReactive",2],{"works-list":3},[4,118,191,276,439],{"id":5,"title":6,"body":7,"client":91,"description":13,"draft":92,"extension":93,"gradient":94,"meta":97,"navigation":98,"order":99,"path":100,"role":101,"seo":102,"stem":103,"summary":104,"tags":105,"thumb":109,"tools":110,"year":116,"__hash__":117},"works\u002Fworks\u002Fhubspot-workflows.md","HubSpot Workflows & CRM Optimization",{"type":8,"value":9,"toc":82},"minimark",[10,14,20,25,28,34,39,61,65],[11,12,13],"p",{},"Sales was leaking time to manual follow-up and a CRM nobody fully trusted. Leads sat unassigned, stages drifted out of date, and the same admin happened by hand every week. The CRM was never properly organised, deals stalled in stages they had already moved past, and reps spent more time maintaining records than selling.",[15,16,17],"accent",{},[11,18,19],{},"Leads and deals now move through the pipeline on their own, tasks assign themselves, and the team works from one clean view of every lead, so the CRM is something sales actually relies on to see what to work on next and how many deals are in play.",[21,22,24],"h2",{"id":23},"what-i-built","What I built",[11,26,27],{},"I rebuilt the entire HubSpot CRM and the automation around it, then optimised it for how each company we work with actually sells, from lead scoring and pipeline organisation through to the campaigns and the emails that go out.",[29,30],"media-embed",{"id":31,"provider":32,"title":33},"1HN6KF4tsdsSmD3464epiwdGSfvQ6c25o6_OsDZPDvJA","slides","HubSpot workflows & CRM optimisation",[35,36,38],"h3",{"id":37},"what-i-did","What I did",[40,41,42,46,49,52,55,58],"ul",{},[43,44,45],"li",{},"Rebuilt the CRM from the ground up, clearing out duplicate records and unused workflows so there was a clean base ready for new optimisation",[43,47,48],{},"Set up follow-up sequences and automatic assignment to the right sales rep, so every new lead is handled without manual triage",[43,50,51],{},"Connected the tools the company runs on, including Claude, Fireflies, Docusign and LinkedIn, for smooth lead rotation and faster workflow builds",[43,53,54],{},"Built workflows that auto-send the right documents to leads and potential buyers, and move deals straight to the next stage so no deal stalls in the CRM",[43,56,57],{},"Added lead scoring, pipeline organisation and email campaigns tuned to how each company sells",[43,59,60],{},"Worked extensively on reporting, so every department gets the updates that matter to them and decisions run on better data",[35,62,64],{"id":63},"what-it-solves","What it solves",[40,66,67,70,73,76,79],{},[43,68,69],{},"Route and assign new leads automatically, with no manual triage",[43,71,72],{},"Keep deal stages and properties accurate as records move",[43,74,75],{},"Fire follow-ups on triggers so no manual input is needed",[43,77,78],{},"Give the sales team weekly insight into how CRM data is being used, with sales and marketing analytics staying on track",[43,80,81],{},"Cut the recurring manual work out of the sales team's week",{"title":83,"searchDepth":84,"depth":84,"links":85},"",2,[86],{"id":23,"depth":84,"text":24,"children":87},[88,90],{"id":37,"depth":89,"text":38},3,{"id":63,"depth":89,"text":64},"Parity Homes",false,"md",[95,96],"aurora3","aurora1",{},true,1,"\u002Fworks\u002Fhubspot-workflows","Operations & automation",{"title":6,"description":13},"works\u002Fhubspot-workflows","Rebuilt the HubSpot CRM and built the workflows around it, so leads route, deals advance and follow-ups fire on their own, and the sales team trusts what the CRM tells them.",[106,107,108],"HubSpot","CRM","Workflows","\u002Fworks\u002Fhubspot-workflows.png",[106,111,112,113,114,115],"Claude","Fireflies","Docusign","LinkedIn","Sendblue","2026","kiiBCkGbAGJdeyk2ooPmTBkYV1qR-bWeEC3T5oSQtO0",{"id":119,"title":120,"body":121,"client":174,"description":125,"draft":92,"extension":93,"gradient":175,"meta":177,"navigation":98,"order":84,"path":178,"role":179,"seo":180,"stem":181,"summary":182,"tags":183,"thumb":186,"tools":187,"year":116,"__hash__":190},"works\u002Fworks\u002Fhubspot-javascript.md","HubSpot + JavaScript Development",{"type":8,"value":122,"toc":170},[123,126,131,135,138,141,147,151,159,162,167],[11,124,125],{},"Two focused HubSpot development projects, both solved with Operations Hub custom code actions where the standard property logic fell short.",[15,127,128],{},[11,129,130],{},"Where HubSpot's built-in properties couldn't do the job, a small amount of JavaScript made the numbers accurate and put the team back in control of them.",[21,132,134],{"id":133},"business-days-hours-to-quote","Business-days \"Hours to Quote\"",[11,136,137],{},"The \"Hours to Quote\" deal property measured turnaround by subtracting RFQ Received Time from Quote Sent Time across every day, weekends included, so the number overstated how long quoting actually took.",[11,139,140],{},"I built a deal workflow with a JavaScript custom code action that calculates business days, Monday to Friday, between the two date properties and writes the result back to the property, excluding weekends. It runs automatically whenever the dates are updated, with no external dependencies.",[29,142],{"id":143,"poster":144,"provider":145,"title":146},"4417e9e37e324f968c25951dfc2aca90","https:\u002F\u002Fcdn.loom.com\u002Fsessions\u002Fthumbnails\u002F4417e9e37e324f968c25951dfc2aca90-734e8f54508907c1.gif","loom","Business-days Hours to Quote walkthrough",[21,148,150],{"id":149},"editable-time-in-stage","Editable \"Time in Stage\"",[11,152,153,154,158],{},"HubSpot's built-in \"Time in ",[155,156,157],"span",{},"Deal Stage","\" property tracks automatically but can't be edited, so there was no way to correct or override the value when it was wrong.",[11,160,161],{},"I built a custom \"Time in Stage (Editable)\" deal property backed by helper properties, a stage-entry timestamp and a manual-override flag, plus the workflow logic around them. It tracks time in stage automatically, lets a user override the value by hand, and stops the automation from overwriting a manual edit, with an option to reset back to auto mode.",[29,163],{"id":164,"poster":165,"provider":145,"title":166},"eec4fbf518ef4a9b9d8e1bf071f21e6b","https:\u002F\u002Fcdn.loom.com\u002Fsessions\u002Fthumbnails\u002Feec4fbf518ef4a9b9d8e1bf071f21e6b-01fd10cbe76620a9.gif","Editable Time in Stage walkthrough",[11,168,169],{},"Both were delivered as clean, documented builds inside the client's own HubSpot portal, with testing to confirm the logic holds and manual overrides are never overwritten.",{"title":83,"searchDepth":84,"depth":84,"links":171},[172,173],{"id":133,"depth":84,"text":134},{"id":149,"depth":84,"text":150},"Independent client",[96,176],"aurora2",{},"\u002Fworks\u002Fhubspot-javascript","HubSpot development",{"title":120,"description":125},"works\u002Fhubspot-javascript","Two HubSpot custom-code builds, a business-days \"Hours to Quote\" calculation and an editable \"Time in Stage\" property that automation can't overwrite.",[106,184,185],"JavaScript","Custom code","\u002Fworks\u002Fhubspot-javascript.png",[106,188,184,189],"Operations Hub","Custom code actions","uYKlSh4Z1iA-8yz6ti7Z4nR3sFV_s1z3g7FPrRGaqjo",{"id":192,"title":193,"body":194,"client":260,"description":198,"draft":92,"extension":93,"gradient":261,"meta":263,"navigation":98,"order":89,"path":264,"role":265,"seo":266,"stem":267,"summary":268,"tags":269,"thumb":272,"tools":273,"year":116,"__hash__":275},"works\u002Fworks\u002Fhubspot-reporting.md","HubSpot Reporting",{"type":8,"value":195,"toc":254},[196,199,204,206,209,223,227,229,243,247,250],[11,197,198],{},"A sports academy was running its enrolment pipeline on HubSpot but had no reliable way to see it. Facebook leads landed without structure, lifecycle stages didn't move on their own, and there was no daily view of how many people went from a click, to a started application, to a submitted one.",[15,200,201],{},[11,202,203],{},"Leads now flow in from Facebook, move through the enrolment funnel on their own, and land on a daily dashboard, so the team can see new leads, applications started, applications submitted and questionnaires completed at a glance, sliced by income, homeschool status and campaign.",[21,205,24],{"id":23},[11,207,208],{},"I set HubSpot up as the academy's CRM and built the reporting layer on top of it, from lead capture through to the dashboards leadership checks each day.",[40,210,211,214,217,220],{},[43,212,213],{},"Lifecycle stage workflows that move contacts automatically: SMS link clicked to Marketing Qualified Lead, application started to Sales Qualified Lead, and questionnaire completed to Opportunity",[43,215,216],{},"A Zapier integration that creates a HubSpot contact from each Facebook lead and maps the ad attributes (campaign, ad set, ad name) plus student fields (grade, sport, homeschool and household income) into HubSpot properties",[43,218,219],{},"Daily funnel reporting: new leads, SMS link clicked, applications started, applications submitted and questionnaires completed per day, broken down by campaign source",[43,221,222],{},"Filtered dashboards for the Texas education-voucher audience, with views by household income range and homeschool status and per-campaign breakdowns, consolidated so a daily reviewer can switch between them with filters instead of a separate report for each cut",[29,224],{"id":225,"provider":145,"title":226},"41dcd82ce049455b93a42b189bf501a2","Reporting dashboards walkthrough",[35,228,64],{"id":63},[40,230,231,234,237,240],{},[43,232,233],{},"Capture and structure every Facebook lead automatically, with no manual entry",[43,235,236],{},"Move contacts through the enrolment funnel on lifecycle triggers",[43,238,239],{},"Give leadership a daily, at-a-glance view of the whole funnel",[43,241,242],{},"Slice the funnel by campaign, income and homeschool status without building a new report each time",[21,244,246],{"id":245},"a-closer-look","A closer look",[11,248,249],{},"How the dashboards are wired together, and how the funnel reads day to day and by campaign.",[29,251],{"id":252,"provider":145,"title":253},"46174332e4df407ea85d624f7ede99dc","Report views & campaign breakdowns",{"title":83,"searchDepth":84,"depth":84,"links":255},[256,259],{"id":23,"depth":84,"text":24,"children":257},[258],{"id":63,"depth":89,"text":64},{"id":245,"depth":84,"text":246},"Texas Sports Academy",[176,262],"aurora4",{},"\u002Fworks\u002Fhubspot-reporting","Automation & reporting",{"title":193,"description":198},"works\u002Fhubspot-reporting","Set up HubSpot as the CRM for a sports academy, with lifecycle workflows, Facebook lead capture and daily funnel dashboards leadership can read at a glance.",[106,270,271],"Reporting","Dashboards","\u002Fworks\u002Fhubspot-reporting.png",[106,274,271,270],"Zapier","SMiql6Olh__f7P8Vw6PVuOJ0RJ3GvkFJ_3pCo6Tczmk",{"id":277,"title":278,"body":279,"client":423,"description":283,"draft":92,"extension":93,"gradient":424,"meta":425,"navigation":98,"order":426,"path":427,"role":428,"seo":429,"stem":430,"summary":431,"tags":432,"thumb":435,"tools":436,"year":116,"__hash__":438},"works\u002Fworks\u002Flowcode-automation.md","Make \u002F Zapier Automation",{"type":8,"value":280,"toc":408},[281,284,289,291,294,299,301,315,319,323,326,331,335,339,342,346,350,353,357,361,364,368,372,375,379,383,386,390,393,397,400,404],[11,282,283],{},"The work was spread across a dozen tools that didn't talk to each other, so the glue was a person copy-pasting between tabs all day.",[15,285,286],{},[11,287,288],{},"The tools now talk to each other directly, so routing, handoffs and follow-ups happen on their own instead of waiting on manual copy-paste.",[21,290,24],{"id":23},[11,292,293],{},"I connected the stack with Make and Zapier scenarios: lead routing, follow-up automations and the small integrations that quietly remove a recurring manual step.",[29,295],{"id":296,"provider":145,"title":297,"poster":298},"2949902bf0de435fb90d54a3294a4760","Make \u002F Zapier automation walkthrough","https:\u002F\u002Fcdn.loom.com\u002Fsessions\u002Fthumbnails\u002F2949902bf0de435fb90d54a3294a4760-55d48d48d5f3aae8.gif",[35,300,64],{"id":63},[40,302,303,306,309,312],{},[43,304,305],{},"Move data between tools automatically, with no manual re-entry",[43,307,308],{},"Route leads and trigger follow-ups for consistent response time",[43,310,311],{},"Replace fragile manual handoffs with repeatable scenarios",[43,313,314],{},"Document the flows so they're easy to maintain and extend",[21,316,318],{"id":317},"project-highlights","Project highlights",[35,320,322],{"id":321},"slack-ai-agent-makecom-openrouter","Slack AI Agent (Make.com + OpenRouter)",[11,324,325],{},"Built an intelligent Slack automation that classifies incoming messages in real time, automatically responds to frequently asked questions using a company knowledge base powered by ChatGPT, logs feedback to Google Sheets for ongoing training, and escalates complex or high-priority queries directly to the relevant sales rep for prompt human review. All message data is stored and tracked for future analysis and model improvement.",[29,327],{"id":328,"provider":329,"title":330},"\u002Fworks\u002Fslack-ai-agent.png","image","Slack AI agent scenario",[29,332],{"id":333,"provider":329,"title":334},"\u002Fworks\u002Fslack-workflow-overview.png","Slack workflow overview",[35,336,338],{"id":337},"google-forms-multi-destination-router-makecom","Google Forms Multi-Destination Router (Make.com)",[11,340,341],{},"Developed a conditional routing workflow that captures incoming Google Forms submissions and intelligently distributes the data based on predefined logic, sending records to Google Sheets and Airtable simultaneously while triggering real-time notifications to the appropriate team members via Slack and email.",[29,343],{"id":344,"provider":329,"title":345},"\u002Fworks\u002Fgoogle-forms-router.png","Google Forms multi-destination router",[35,347,349],{"id":348},"instantly-to-slack-notification-system-makecom","Instantly to Slack Notification System (Make.com)",[11,351,352],{},"Built a real-time notification pipeline that monitors key prospect activity events within Instantly, including out-of-office responses, campaign enrollments, opt-outs, and inbound email replies, and instantly pushes structured alerts to a designated Slack channel so the client's team stays informed without having to manually check the platform.",[29,354],{"id":355,"provider":329,"title":356},"\u002Fworks\u002Finstantly-slack.png","Instantly to Slack notification system",[35,358,360],{"id":359},"custom-webhook-data-processor-makecom","Custom Webhook Data Processor (Make.com)",[11,362,363],{},"Designed an advanced webhook-driven automation that receives incoming data payloads, cross-references records against an existing Google Sheets database, and returns conditional webhook responses based on match logic, enabling dynamic, data-aware integrations without manual intervention.",[29,365],{"id":366,"provider":329,"title":367},"\u002Fworks\u002Fcustom-webhook.png","Custom webhook data processor",[35,369,371],{"id":370},"ai-powered-typeform-response-system-zapier","AI-Powered Typeform Response System (Zapier)",[11,373,374],{},"Built a Zapier workflow that listens for new Typeform submissions, passes each response through an AI analysis layer to extract intent and context, and automatically sends a personalized email reply tailored to the specific submission, reducing manual follow-up time significantly.",[29,376],{"id":377,"provider":329,"title":378},"\u002Fworks\u002Ftypeform-zapier.png","AI-powered Typeform response system",[35,380,382],{"id":381},"vapi-call-agent-vapi-makecom","VAPI Call Agent (VAPI + Make.com)",[11,384,385],{},"Built an AI-powered voice call agent capable of handling both inbound and outbound calls autonomously. When a prospect calls in, the agent responds intelligently in real time, captures all relevant information from the conversation, and automatically logs the data to Google Sheets via Make.com while simultaneously creating or updating the contact record directly in the CRM, eliminating manual data entry and ensuring no lead falls through the cracks.",[35,387,389],{"id":388},"ai-email-assistant-agent-makecom-hubspot-docusign","AI Email Assistant Agent (Make.com + HubSpot + DocuSign)",[11,391,392],{},"Developed a fully automated email handling system that monitors an inbound email inbox, reads incoming messages from prospects, and generates context-aware responses based on a pre-configured company knowledge base. Beyond just replying to emails, the workflow generates contract documents through DocuSign and sends them directly to the prospect, enrols new contacts into HubSpot or updates existing records based on the interaction, and pushes real-time internal notifications to the relevant teammates, so the team stays in the loop on every prospect touchpoint from first email to signed document.",[21,394,396],{"id":395},"the-breakdown-decks","The breakdown decks",[11,398,399],{},"Two decks walking through the scenarios: what each automation does and how the pieces fit together.",[29,401],{"id":402,"provider":32,"title":403},"1zIjsoq_Ab3jqadY03sXHYHgVnihiPoXBVMEQMwaEjOo","Automation overview",[29,405],{"id":406,"provider":32,"title":407},"1g-85T-2QRvmJLu83LcUVX7qOsqwEUVoBGLmshZt-py8","Scenario walkthrough",{"title":83,"searchDepth":84,"depth":84,"links":409},[410,413,422],{"id":23,"depth":84,"text":24,"children":411},[412],{"id":63,"depth":89,"text":64},{"id":317,"depth":84,"text":318,"children":414},[415,416,417,418,419,420,421],{"id":321,"depth":89,"text":322},{"id":337,"depth":89,"text":338},{"id":348,"depth":89,"text":349},{"id":359,"depth":89,"text":360},{"id":370,"depth":89,"text":371},{"id":381,"depth":89,"text":382},{"id":388,"depth":89,"text":389},{"id":395,"depth":84,"text":396},"Redocs",[96,262],{},4,"\u002Fworks\u002Flowcode-automation","Workflow automation",{"title":278,"description":283},"works\u002Flowcode-automation","Designed and deployed no-code automation workflows across Make.com and Zapier, integrating disparate tools into cohesive, end-to-end pipelines that eliminate manual data entry and ensure seamless handoffs, intelligent routing, and timely follow-ups across the entire operation.",[433,274,434],"Make","No-code","\u002Fworks\u002Flowcode-automation.png",[433,274,437],"n8n","BH5ZQMcZSkCQFZTNriorua3P0bVZ9Om76glehlTMUX4",{"id":440,"title":441,"body":442,"client":531,"description":446,"draft":92,"extension":93,"gradient":532,"meta":533,"navigation":98,"order":534,"path":535,"role":536,"seo":537,"stem":538,"summary":539,"tags":540,"thumb":544,"tools":545,"year":549,"__hash__":550},"works\u002Fworks\u002Foperations-va.md","Operations & Executive Support",{"type":8,"value":443,"toc":525},[444,447,452,456,459,464,468,491,495,498,503,508,513,520],[11,445,446],{},"I help founders and executives reclaim their time and simplify how their business runs, through a mix of executive support and smart automation. When operations outgrow their processes, everything starts depending on one person's memory. I turn that into a system of calendars, inboxes, tracking and documentation that runs the same way every time.",[15,448,449],{},[11,450,451],{},"Across five concurrent client workstreams I held 95% on-time task delivery and documented the processes, so a trusted right hand keeps the details moving and the day-to-day no longer depends on any one person.",[21,453,455],{"id":454},"what-i-do","What I do",[11,457,458],{},"I run the executive and operational layer, from calendar and inbox management to meeting coordination and follow-ups, and I write the SOPs, checklists and handover notes that keep it consistent.",[29,460],{"id":461,"provider":462,"title":463},"1p1Rp4OUsnkV2do6JxIitRJMGCbzeHYfC","drive","Operations & executive support demo",[35,465,467],{"id":466},"what-it-covers","What it covers",[40,469,470,473,476,479,482,485,488],{},[43,471,472],{},"Email and inbox management for leadership",[43,474,475],{},"Calendar scheduling and meeting coordination",[43,477,478],{},"Travel planning and itineraries",[43,480,481],{},"Research and data gathering",[43,483,484],{},"Task and project tracking in Notion and Trello",[43,486,487],{},"Expense and budget tracking",[43,489,490],{},"SOPs, checklists and handover notes for repeatable execution",[21,492,494],{"id":493},"a-closer-look-at-the-work","A closer look at the work",[11,496,497],{},"A few real examples from the executive support side, across the day-to-day areas I cover.",[29,499],{"id":500,"provider":462,"title":501,":seed":502},"11QWmZ6OtoNfwssLtFrzF8YQIF7mgYp7J","Email management","1",[29,504],{"id":505,"provider":462,"title":506,":seed":507},"1Q747pfpMsMOjQ_Pl6fG-nx3ZxS7IrCHY","Calendar scheduling","2",[29,509],{"id":510,"provider":32,"title":511,":seed":512},"1AQzOkqjwbL75Z_GqZ1QI70Ly-WuDNgOfyiVcwymfgaw","Travel planning","3",[29,514],{"id":515,"provider":516,"title":517,":seed":518,"ratio":519},"1lLzoO0_PKgZS0dkVu0fVbT0aaX8nCEm60vi4zlpSpZo","sheet","Research","4","4 \u002F 3",[29,521],{"id":522,"provider":32,"title":523,":seed":524},"1Ufn4EYg21XZzWT9jZwCJ5naA2mnpPu5-9eu1m9XPpq0","Notion & Trello workspaces","5",{"title":83,"searchDepth":84,"depth":84,"links":526},[527,530],{"id":454,"depth":84,"text":455,"children":528},[529],{"id":466,"depth":89,"text":467},{"id":493,"depth":84,"text":494},"TY Consulting",[176,95],{},5,"\u002Fworks\u002Foperations-va","Operations & executive support",{"title":441,"description":446},"works\u002Foperations-va","Executive support and operations run as a system of calendars, inboxes, SOPs and tracking, plus the automations that take the busywork off a leader's plate.",[541,542,543],"Operations","Executive VA","SOPs","\u002Fworks\u002Foperations-va.png",[546,547,548,106,274],"Notion","Google Workspace","Slack","2025","T4Hv83pddRJ9YuGOaR-xBF9m1MRu8S5SQ4FHopft1TE",1782675755109]