Solutions Showcase: part 1 of 4
Browse case studies by tool and use case: automations, AI agents, dashboards, and custom platforms.
The complete text of the site in 4 parts, shortest case studies first. Parts:
Contents (every section and case study)
Custom SaaS Platforms
n8n Automations
Zapier Automations
Make Automations
Google Apps Script
Python Automation
AI Agents
AI Agents for WhatsApp
AI Agents for Ecommerce
ClickUp Setups
Monday.com Setups
Airtable
Power BI
Looker Studio
Dashboards & Reporting
Case studies in full
Fulfilled Order Integration with ClickUp
This Make scenario is implemented so that whenever an order is fulfilled in Shopify, the order details are added to ClickUp.
Section: Make Automations
This Make scenario is implemented so that whenever an order is fulfilled in Shopify, the order details are added to ClickUp.
Page · Plain text
Google Apps Script for Chart Automation
Utilized Google Apps Script to automate the generation and saving of chart images to Google Drive, streamlining the reporting process.
Section: Google Apps Script
Utilized Google Apps Script to automate the generation and saving of chart images to Google Drive, streamlining the reporting process.
Page · Plain text
Automation of ClickUp and Google Sheets
This Make scenario is implemented whenever a task gets completed in ClickUp.
Section: Make Automations
- This Make scenario is implemented whenever a task gets completed in ClickUp.
- The task details are then sent to Google Sheets.
- Based on custom fields, the data is being sent to respective google sheet file
Page · Plain text
Automated PDF Invoicing via Email
Created Google Apps Script to automatically format data into PDF invoices and send them via email, saving manual effort and enhancing operational efficiency.
Section: Google Apps Script
Created Google Apps Script to automatically format data into PDF invoices and send them via email, saving manual effort and enhancing operational efficiency.
Page · Plain text
Integration of Go High Level with Beehiv
This scenario is implemented so that whenever the status of an opportunity is changed in Go High Level, the associated email is added to Beehiv as a subscriber.
Section: Make Automations
This scenario is implemented so that whenever the status of an opportunity is changed in Go High Level, the associated email is added to Beehiv as a subscriber.
Page · Plain text
Daily Slack Updates Make Scenario
The automation is designed to send daily updates to Slack. The data in Google Sheets is updated daily, and the KPI data is sent to Slack every day using a Make scenario.
Section: Make Automations
The automation is designed to send daily updates to Slack. The data in Google Sheets is updated daily, and the KPI data is sent to Slack every day using a Make scenario.
Page · Plain text
Integration of RB2B with Go High Level and Beehiv
RB2B is a platform that collects website visitor profiles.
Section: Make Automations
- RB2B is a platform that collects website visitor profiles.
- When a profile is created in RB2B, that profile is added to Go High Level as a contact.
- A deal is also created in Go High Level for the new contact.
- Additionally, the email is added to Beehiv as a subscriber.
Page · Plain text
Integrating GoHighLevel with Beehiv Using Zapier
A Zap is being built to connect GoHighLevel with Beehiv.
Section: Zapier Automations
- A Zap is being built to connect GoHighLevel with Beehiv.
- Whenever a user submits a form on GoHighLevel, the details are sent to Beehiv.
- A workflow is created in GoHighLevel to send the information to a Zapier webhook.
- Zapier receives the information and then adds it to Beehiv.
Page · Plain text
Integration of Shopify and ClickUp for Managing Refunded Orders
This scenario is built so that whenever there is a refunded order in Shopify, the order details are added to ClickUp as tasks.
Section: Make Automations
- This scenario is built so that whenever there is a refunded order in Shopify, the order details are added to ClickUp as tasks.
- This integration is implemented to streamline the management of refunded orders.
Page · Plain text
Growth Model Development with Defined KPIs
Designed a dynamic growth model in Google Sheets, complete with Key Performance Indicators (KPIs) to enhance visibility and guide decision-making.
Section: Google Apps Script
Designed a dynamic growth model in Google Sheets, complete with Key Performance Indicators (KPIs) to enhance visibility and guide decision-making.
Image: The growth funnel model: awareness, engagement, and retention KPIs tracked month over month.
Page · Plain text
CSV-Based Inventory Data Entry Automation
Created a script to automate data entry in an inventory sheet from CSV files.
Section: Google Apps Script
Created a script to automate data entry in an inventory sheet from CSV files. The script also includes a data cleaning function to ensure accuracy and integrity of the imported data.
Image: Multi-warehouse inventory data with flagged data-quality issues the cleaning step catches: mismatched locations and unidentified SKUs.
Page · Plain text
BigQuery to Google Sheets Data Pipeline
Implemented a robust data pipeline using SyncWith and SQL to extract and sync data from BigQuery to Google Sheets for real-time analytics and reporting.
Section: Google Apps Script
Implemented a robust data pipeline using SyncWith and SQL to extract and sync data from BigQuery to Google Sheets for real-time analytics and reporting.
Image: A scheduled BigQuery SQL query joining employer and sign-up data by month for the KPI sheet.
Page · Plain text
Google Sheets Data Visualization Dashboard
Created an interactive dashboard within Google Sheets for effective data visualization and tracking, serving as a quick reference tool for stakeholders.
Section: Google Apps Script
Created an interactive dashboard within Google Sheets for effective data visualization and tracking, serving as a quick reference tool for stakeholders.
Image: A CRM dashboard inside Google Sheets tracking hiring totals, job closures, and feedback scores.
Page · Plain text
Project Tracker Management
Worked on developing a Project Tracker in Google Sheets to allocate tasks, track project milestones, and monitor team performance, complete with real-time updates and visual dashboards for easy interpretation.
Section: Google Apps Script
Worked on developing a Project Tracker in Google Sheets to allocate tasks, track project milestones, and monitor team performance, complete with real-time updates and visual dashboards for easy interpretation.
Image: A Gantt-style project schedule generated directly in Google Sheets.
Page · Plain text
Skool to Slack, LeadConnector and Close Zap
This Zap connects Skool, Slack, LeadConnector and Close, starting when a member answers the Skool membership questions.
Section: Zapier Automations
This Zap connects Skool, Slack, LeadConnector and Close, starting when a member answers the Skool membership questions. It then sends a message to a Slack channel, adds or updates the contact in LeadConnector, and looks up the matching contact and lead in Close.
Image: The five-step Zap: a Skool trigger, a Slack channel message, a LeadConnector contact update and two Close lookups.
Page · Plain text
Cancel Calendly Bookings Zap
This Zap streamlines the process of appointment cancellations by integrating ClickUp with Calendly.
Section: Zapier Automations
This Zap streamlines the process of appointment cancellations by integrating ClickUp with Calendly. When a cancellation is initiated from within ClickUp, by pressing the cancel button on a specific task, the relevant appointment is automatically cancelled in Calendly. This automation ensures that appointment slots are efficiently managed and updated in real time, reducing manual oversight and the potential for scheduling conflicts.
Page · Plain text
Automated Column Management in Inventory Sheet
Developed an app script to automatically update columns in an inventory sheet based on values in another sheet, enabling seamless data synchronization within Google Sheets.
Section: Google Apps Script
Developed an app script to automatically update columns in an inventory sheet based on values in another sheet, enabling seamless data synchronization within Google Sheets.
Image: Syncing active/inactive status between a main sheet and a linked inventory spreadsheet.
Image: A custom menu for updating inventory values and normalizing leading zeros on demand.
Page · Plain text
Gmail to ClickUp Zap
This Zap automates the process of task creation in ClickUp based on incoming emails from a specified sender in Gmail.
Section: Zapier Automations
This Zap automates the process of task creation in ClickUp based on incoming emails from a specified sender in Gmail. Whenever an email is received from the designated sender, the Zap automatically creates a new task in ClickUp. Additionally, any attachments included in the email are uploaded and attached to the newly created ClickUp task, ensuring all pertinent information and documents are consolidated and accessible directly within the task.
Page · Plain text
Looker Studio: Meta Ads Dashboard
A Looker Studio dashboard tracking Meta ad spend, clicks, impressions and campaign-level ROAS in one live view.
Section: Looker Studio
Paid Media Reporting
Built in Looker Studio to track Meta ad spend, clicks and campaign performance in one place, replacing manual exports from Meta Ads Manager.
- 21,767: Clicks
- 627,879: Impressions
- $35.2K: Spend
- 3.47%: CTR (all)
Image: Meta Ads dashboard overview: clicks, link clicks, impressions, ROAS and spend for a single brand’s campaigns.
Image: Campaign-level breakdown: ROAS, clicks, spend, impressions and CPM for every ad and campaign, filterable by name.
Page · Plain text
Looker Studio: Google Ads Dashboard
A Looker Studio dashboard tracking Google Ads cost, revenue, orders, profit and ROAS for the same multi-channel account.
Section: Looker Studio
Paid Media Reporting
The same multi-channel Looker Studio report includes a dedicated Google Ads page, tracking cost, revenue, orders, profit and ROAS alongside clicks and conversion rate.
Image: Google Ads dashboard for the same account: cost, revenue, orders, profit and ROAS alongside clicks and conversion rate.
The dashboard runs on Looker Studio so paid media and finance read from the same live numbers instead of a separate export from Google Ads.
Page · Plain text
Batch Management of Access
The script reads from a spreadsheet cell that lists email addresses authorized for file access.
Section: Google Apps Script
- The script reads from a spreadsheet cell that lists email addresses authorized for file access.
- It programmatically adjusts the sharing settings of designated Google Drive files and folders, granting access to the emails provided.
- Concurrently, it ensures that access is removed from email addresses not currently listed in the spreadsheet.
- This process is tailored to manage differing access levels needed for team members versus clients.
- The script offers an efficient mechanism to control document access, reducing the risk of unauthorized viewing or editing.
Page · Plain text
Weekly Marketing Performance Tracker (Google Sheets)
A Google Sheets weekly tracker that brings Google Analytics traffic and Klaviyo email and SMS performance into one view.
Section: Dashboards & Reporting
Marketing Reporting
A weekly tracker pulls Google Analytics traffic and Klaviyo email and SMS performance into one Google Sheet, so acquisition and retention numbers sit side by side instead of living in separate tools.
Image: Weekly dashboard tracking Google Analytics traffic by source alongside Klaviyo email and SMS sales and subscriber counts.
Built in Google Sheets so marketing can compare traffic sources, email and SMS sales and subscriber growth week over week without logging into each platform.
Page · Plain text
Shopify to Google Sheets Data Transfer with Task Allocation
Leveraged expertise in API integration and Google Sheets to create an automated system that transfers data from Shopify to Google Sheets using the ‘Sync With’ extension.
Section: Google Apps Script
Leveraged expertise in API integration and Google Sheets to create an automated system that transfers data from Shopify to Google Sheets using the ‘Sync With’ extension. Utilized Google Apps Script and various functions to allocate customer-specific tasks to agents, and integrated this data into Aircall for seamless customer outreach. The system is set to update daily.
Image: The task-distribution function that splits unattended calls evenly across the agent roster.
Page · Plain text
Looker Studio: Facebook Ads Dashboard
A Looker Studio dashboard rolling up Facebook ad spend, revenue, ROAS and profit margin across a 9-month window.
Section: Looker Studio
Paid Media Reporting
Part of a larger multi-channel Looker Studio report, this page rolls up spend, revenue and profit for Facebook campaigns specifically, alongside a daily revenue-vs-spend trend.
- $3.94M: Facebook spend (9 mo.)
- $3.99M: Facebook revenue
- 1.01: Facebook ROAS
- 27,184: Orders
Image: Facebook performance overview across a 9-month window: spend, revenue, ROAS and profit margin alongside a daily revenue-vs-spend trend.
The dashboard runs on Looker Studio so paid media and finance read from the same live numbers instead of a separate export from Meta.
Page · Plain text
Google Calendar to ClickUp Zap
This Zap facilitates seamless integration between Google Calendar and ClickUp, enhancing task management and operational efficiency.
Section: Zapier Automations
This Zap facilitates seamless integration between Google Calendar and ClickUp, enhancing task management and operational efficiency. Whenever a new event is created in Google Calendar, the Zap automatically generates a corresponding task in ClickUp. It transfers relevant details from the calendar event, such as the date, time, and event description, to the ClickUp task. Furthermore, the Zap is configured to assign these tasks to specific individuals, optimizing task allocation and ensuring the right team members are engaged with relevant events and responsibilities.
Page · Plain text
Batch Creation of Folders and Files
The script initiates by creating a structured main folder in Google Drive.
Section: Google Apps Script
- The script initiates by creating a structured main folder in Google Drive.
- Within this main folder, it systematically generates a set of predefined subfolders.
- For each subfolder, the script creates specific spreadsheet files from templates designed for various purposes.
- Google Docs templates are duplicated and placed into their respective folders, ready for use.
- A master spreadsheet is updated with the names, IDs, and direct links to all created folders and files, facilitating easy navigation and organization.
Image: The batch-creation script that generates each client’s folder structure, contract, and accounting files from templates.
Page · Plain text
YouTube Video Details Scraper using Automation
Automatically collect detailed info from YouTube videos of popular creators for content analysis.
Section: AI Agents
Objective:
Automatically collect detailed info from YouTube videos of popular creators for content analysis.
Implementation:
The workflow pulls the url from your database, scrapes their details using a scraping tool, waits for results, and then saves everything back to the database.
Outcome:
- Triggered by a Click: You hit “Start” to run the process.
- Grabs Video Links: It picks up YouTube links marked as “ready” in your Airtable.
- Runs the Scraper: Sends each link to an automation tool that fetches all available video details (title, channel name, views, likes, subtitles, description, and thumbnail).
- Waits for Results: Gives the scraper time to finish collecting the info.
- Saves Everything Back: Once done, all the data is pushed back into Airtable, organized and ready for your analysis.
Page · Plain text
TikTok Video Downloader without watermark: Save Any Reel Directly to Google Drive
To automatically download a TikTok video and store it in Google Drive with a public share link.
Section: AI Agents
Objective:
To automatically download a TikTok video and store it in Google Drive with a public share link.
Implementation:
This workflow fetches a TikTok video, extracts its direct video link, downloads it without watermark, and saves the file to your Google Drive, for content reposting.
Outcome:
- One Click to Start: The flow begins with a simple tap to kick things off.
- Fetches the Page: It opens the TikTok video page and grabs all the HTML data.
- Extracts the Video URL: A smart code block digs into that HTML and pulls out the real video link.
- Downloads the Video: The video file is then downloaded using that clean URL.
- Uploads to Google Drive: The downloaded video is saved directly to your Drive.
- Creates Shareable Link: The file is made public so you can share it with just one link.
Page · Plain text
TidyCal Booking to LeadConnector and Google Sheets Zap
This Zap runs when a new booking is made in TidyCal, adds or updates the contact in LeadConnector, and records the booking in Google Sheets.
Section: Zapier Automations
This Zap runs when a new booking is made in TidyCal, adds or updates the contact in LeadConnector, and records the booking in Google Sheets. After a filter and a text formatting step, it looks up the matching row in the spreadsheet and then splits into two paths, so each booking ends up in the sheet.
How it works
- Starts on a new booking: the TidyCal “New Booking” trigger starts the Zap.
- Filters and formats: a Filter by Zapier step checks conditions and a Formatter step works on text.
- Updates the CRM: adds or updates the contact in LeadConnector.
- Looks up the sheet: finds the matching row in Google Sheets.
- Splits into two paths: one updates the spreadsheet row and the other creates a new row.
Image: The ten-step Zap: a TidyCal booking trigger, filter and text formatting, LeadConnector, a Google Sheets lookup, and two paths that update or create a row.
Page · Plain text
Email Reminder System
The script is scheduled to run daily to ensure real-time relevancy of its functions.
Section: Google Apps Script
- The script is scheduled to run daily to ensure real-time relevancy of its functions.
- It begins by accessing specific files through provided links within a master file.
- Once the file is opened, the script navigates to a particular sub-tab where date-specific data is stored.
- It compares the stored dates against the current date to identify matches.
- When a match is found, indicating a task or event due that day, it triggers the sending of customized email reminders to designated recipients.
- This automation ensures that reminders are sent out without fail, improving the consistency of communications and task management.
Image: Extracting a hyperlink from a spreadsheet cell to locate the right file before checking its dates.
Image: A due-diligence checkup variant: comparing today’s date against the sheet before sending a scheduled compliance email.
Image: The companion screening script that walks each row and extracts the linked spreadsheet before processing it.
Page · Plain text
AI-Powered Social Post Generator: From Spreadsheet to Socials in Seconds!
Automatically create short, engaging, and fact-based posts (with emojis!) based on your content ideas, and publish them to the right platform.
Section: AI Agents
Objective:
Automatically create short, engaging, and fact-based posts (with emojis!) based on your content ideas, and publish them to the right platform.
Implementation:
This workflow grabs an idea from your Google Sheet, uses AI to turn it into a social-ready post, and then posts it to either LinkedIn or X (Twitter), depending on your selection.
Outcome:
- Kickstarts with a Click: You run the workflow manually to process new ideas.
- Reads the Sheet: It pulls content ideas and target platforms from your Google Sheet.
- Checks Status: Only picks ideas that haven’t been published yet (marked as 0).
- Uses AI to Write the Post: Google Gemini crafts a short, fact-based, emoji-filled post tailored to the selected platform.
Posts It Where It Belongs
- If the platform is LinkedIn, it publishes there.
- If it’s X (Twitter), it posts accordingly.
Done. One idea, one click, and you’ve got content live on the right platform, no copy-pasting needed.
Page · Plain text
Daily Ticket-Count Automation: Gmail PDFs to BigQuery and Google Sheets
A Python job that reads daily Ticketmaster audit PDFs from email, stores every figure in BigQuery and publishes a Google Sheet that mirrors the team’s existing workbook.
Section: Python Automation
The Problem
An events company received daily Ticketmaster audit PDFs by email and re-typed the figures into a workbook by hand.
The Solution
A daily job reads the report emails through the Gmail API (with an OAuth refresh token), downloads and parses the audit PDFs, stores every figure in BigQuery, and publishes a Google Sheet that mirrors the team’s existing workbook. It was built spec first: a design spec, then an implementation plan, then tests with fixture PDFs, then the pipeline.
Image: The project repository, with the ticket-count source code, tests, scripts and design documents.
Image: The Google Sheet the job publishes: tickets sold per day against capacity, split into GA and VIP, with the percentage sold. Event names and some tab names are hidden.
Image: The Run Log tab, with one row for each run of the job and its time.
Built with
Python, the Gmail API (OAuth), PDF parsing, BigQuery, the Google Sheets API and pytest.
Page · Plain text
Smart AI Podcast Audio Script Generator from BBC News
To turn positive and interesting news stories into podcast-style audio scripts using AI.
Section: AI Agents
Objective:
To turn positive and interesting news stories into podcast-style audio scripts using AI.
Implementation:
The system collects news stories from the BBC website, checks if they are podcast-friendly, rewrites them into an engaging script, and finally prepares them for audio conversion.
Outcome:
- Starts Manually: The process begins with a button click to start the flow.
- Fetches the News: It visits the BBC homepage and grabs all the latest news headlines and descriptions.
- Filters the Content: It goes through the list and picks out only 10 headlines.
- Checks Suitability: Each headline is checked to see if it’s interesting, positive, and fit for a podcast.
- Gets Full Articles: For the suitable headlines, it goes to the full news page and pulls in the main content.
- Creates the Script: The stories are then rewritten into a warm, friendly, and engaging podcast script.
- Checks Script Output: It makes sure the script is properly prepared.
- Sends for Audio: If everything looks good, the script is sent to a tool that can convert the text into voice.
Page · Plain text
Smart Amazon Product Tracker for Price Drop Alerts
To fetch product details from Amazon and alert you if the price drops, because who doesn’t love a good deal? 💸
Section: AI Agents
Objective:
To fetch product details from Amazon and alert you if the price drops, because who doesn’t love a good deal? 💸
Implementation:
The workflow grabs product links from a database, scrapes product info, compares old vs new prices, updates the records, and, if there's a discount, sends you an email so you can grab it before it’s gone.
Outcome:
- Kick-off Daily: Schedule to run daily.
- Grabs Products from Airtable: It checks your list to see which items are being tracked.
- Launches the Scraper: The link is sent to Apify, which fetches the product’s name, price, and more.
- Pulls the Results: Once scraping is done, it collects all the fresh details.
- Updates the Product Info: It neatly saves everything back into your Airtable list (because organized data is happy data).
- Checks for Price Drops: If today’s price is lower than the last one, the flow gets excited 🤑
- Sends You an Email Alert: You get an email telling you “Hey, the price just dropped!” with a link to check it out.
- Keeps Things Updated: Whether the price dropped or not, it always saves the latest price for next time.
Page · Plain text
Trello Cards to AI Social Captions and Hashtags Zap
This Zap runs every day, goes through the cards on a Trello board, and uses ChatGPT to write a social media caption and hashtags that are saved on each Trello card.
Section: Zapier Automations
This Zap runs every day, goes through the cards on a Trello board, and uses ChatGPT to write a social media caption and hashtags that are saved on each Trello card. It looks up the cards from a single Trello pillar and loops over them, so every step after the loop runs once for each card. For each card it checks the card, reads its attachments, asks ChatGPT for the caption and hashtags, and updates the Trello card with them.
How it works
- Runs every day: a Schedule by Zapier trigger starts the Zap once a day.
- Gets the cards: gets the cards from a single Trello pillar, splits them into individual items with the Itemizer and loops over them. Every step below runs once for each card.
- Checks each card: a webhook GET request and a Formatter utility step run, and a filter then decides which cards continue.
- Reads the attachments: finds the card’s attachments in Trello.
- Writes with AI: sends the content to ChatGPT (OpenAI) in a conversation step to write the caption and hashtags.
- Saves the result: updates the Trello card with the caption and hashtags.
Image: The first ten steps of the Zap: a daily schedule, the Trello card lookup, a loop over each card, a filter, the card attachments, ChatGPT and a Trello card update.
Page · Plain text
Trello to Facebook, LinkedIn and Instagram Social Posting Zap
This Zap runs every day, picks up the Trello cards for that day, and publishes their images and captions to Facebook, LinkedIn and Instagram.
Section: Zapier Automations
This Zap runs every day, picks up the Trello cards for that day, and publishes their images and captions to Facebook, LinkedIn and Instagram. Each card holds the post images and a caption for each platform, so content is prepared in Trello and published without manual uploading.
How it works
- Runs every day: a Schedule by Zapier trigger starts the Zap once a day.
- Finds the cards: gets the cards from a single Trello pillar, splits them into individual items and loops over each one.
- Checks each card: Formatter steps convert the start and due dates and read the card status, and a filter then decides which cards continue.
- Gets the content: extracts the social captions, then finds the card’s image attachments in Trello.
- Updates Trello: updates the card and moves it to another list.
- Publishes everywhere: Code by Zapier and Paths split the card into branches by platform and content type, then publish posts and videos to Facebook Pages, company updates to LinkedIn, and photos and videos to Instagram for Business.
Image: Steps 1–11: the daily schedule, the Trello card lookup, a loop over each card, and date and status formatting.
Image: Steps 12–48: caption extraction, Trello updates, and the Paths that publish to Facebook Pages, LinkedIn and Instagram for Business.
Page · Plain text
AI-Driven Instagram Video Breakdown: Decode What Makes Viral Content Tick
Automatically fetch and analyze top-performing Instagram videos from popular creators to uncover what makes them stand out.
Section: AI Agents
Objective:
Automatically fetch and analyze top-performing Instagram videos from popular creators to uncover what makes them stand out.
Implementation:
The workflow starts by pulling Instagram usernames from your list, finds the creator’s most viewed video, and uses AI to break it down (frame by frame, word by word) to reveal the hidden ingredients of viral success.
Outcome
- Schedule it to run: .Schedule it to run daily, weekly or monthly.
- Fetches Creators: It pulls Instagram usernames from your Airtable.
- Finds the Top Video: From each creator, it picks the reel with the highest views, because we only care about what’s working 📈
- Stores the Essentials: Saves the video link, caption, creator name, and view count.
- Downloads the Video: Preps the reel so we can take a closer look under the hood.
- Uses AI to Analyze the Magic: Here’s where it gets spicy 🔍
- What’s the hook? How does it grab attention in the first 3 seconds?
- What’s the vibe? What’s happening in the video: background, setting, energy?
- Visual style: What kind of text, clothes, or framing makes it pop?
- Game-changer moments: What moment makes viewers stop scrolling and watch till the end?
- Saves the Analysis: The insights are written down and saved back in your Airtable. Boom: structured, searchable, gold-standard content breakdown.
Page · Plain text
Monday.com Timeline Stage Alerts to Slack and Close Zap
This Zap watches the timeline stages of Monday.com items and notifies the team in Slack each time an item reaches a new stage.
Section: Zapier Automations
This Zap watches the timeline stages of Monday.com items and notifies the team in Slack each time an item reaches a new stage. Items on the Monday.com boards follow a programme timeline: 45, 60 and 90 days in, and 60, 45 and 1 day left. When an item reaches one of these stages, the Zap triggers, updates the item and sends a message to the team’s Slack channel.
At the 45-days-left stage it also checks Close for the opportunity: if it is found, the stage is updated, and if not, a new opportunity is created. A Slack notification goes out either way.
How it works
- Starts on a webhook: a Webhooks by Zapier “Catch Hook” step starts the Zap when an item reaches a stage.
- Finds the item: looks the item up in monday.com.
- Works out the stage: a Code by Zapier step runs Python, then Paths split the Zap into branches for the different timeline stages.
- Updates monday.com: each branch updates the item.
- Notifies the team: each branch ends with a Slack channel message.
- Handles Close: one branch looks up contacts in Close and creates a lead and an opportunity where needed, before notifying Slack.
Image: Steps 1–16 and 31–33: the webhook trigger, the monday.com lookup, the Python step, and the Paths that update items and notify Slack.
Image: Steps 17–30: the Close branches that find contacts and create leads and opportunities, each ending in a Slack message.
Page · Plain text
Automation of Shopify Orders to Google Sheets for Dropshipping E-commerce Store
The primary goal of this automation is to streamline the process of managing Shopify orders by automatically distributing them to the appropriate fulfillment sheets.
Section: Make Automations
The primary goal of this automation is to streamline the process of managing Shopify orders by automatically distributing them to the appropriate fulfillment sheets. This is particularly useful for a dropshipping e-commerce store that sources products from multiple suppliers, such as AliExpress.
- Order Creation: Whenever a new order is created in Shopify, the automation system adds it to a data store built within Make, making sure all orders are logged and tracked efficiently.
- Product Identification: The automation includes a scenario that checks the product IDs in a Google Sheets database. By matching these product IDs, the system determines which specific fulfillment sheet each order should be directed to, based on the supplier.
- Master Sheet Integration: A master sheet is maintained where all order data is consolidated. This master sheet serves as the central point for tracking and managing all orders. Whenever any changes are made to the master sheet, the automation ensures that these updates are reflected in the respective Google Sheets, maintaining consistency and accuracy across all fulfillment sheets.
- Supplier Coordination: By automating the distribution of orders to the correct fulfillment sheets, the system ensures that each supplier receives the correct order information, facilitating efficient and accurate order fulfillment.
Page · Plain text
Python MCP Server Connecting Claude to a Field-Service CRM
A hosted, OAuth-protected MCP server in Python that lets a home-services business ask Claude about customers, jobs, invoices and leads, with write actions hidden unless allowed.
Section: Python Automation
The Problem
A home-services business wanted to ask Claude questions about customers, jobs, invoices and leads, and to take safe actions, without giving it raw database access.
The Solution
A Model Context Protocol server that exposes the full REST API of the business’s field-service software (Housecall Pro) as about 20 domain modules: customers, jobs, estimates, invoices, leads, employees, scheduling, webhooks and more. They are all mounted under one FastMCP app. It is deployed on Railway and connects straight into claude.ai.
Notable details
- OAuth login sits in front of the server (GitHub provider, redirecting back to claude.ai), so no shared API keys are handed to users.
- A read-only enforcer middleware hides every tool whose name contains create, update, delete, send, void or dispatch from the tool list, unless it is explicitly allowed. This is per-agent permission control at the protocol level.
- Tools are namespaced (customers_*, jobs_*, invoices_*), so the model cannot confuse one domain with another.
Image: The server entry point: GitHub OAuth in front, one FastMCP app, and each domain module (customers, jobs, estimates, invoices, leads, employees) mounted under its own namespace.
Image: The repository: one Python module for each area of the field-service API, plus a Procfile for deployment on Railway. The commit messages are blurred.
Built with
Python, FastMCP, OAuth 2.0, REST and Railway.
Page · Plain text
Automated P&L & Sales Tracker for Ecommerce (Google Sheets)
A single Google Sheets template that turns raw sales, COGS and marketing cost data into live real-vs-estimated profit numbers for any date range.
Section: Dashboards & Reporting
Finance & Sales Reporting
An automated profit & loss tracker built in Google Sheets for an ecommerce business. Pulling sales, real COGS, marketing spend and other expenses into one model, it calculates real vs. estimated profit automatically for any date range instead of being rebuilt by hand every month.
- $1.18M: Total sales (period)
- $54.6K: Total real profit
- 4.61%: Real profit margin
- $587K: Total marketing cost
Image: Monthly sales and profit dashboard: total sales, real/estimated profit, margins and marketing cost calculated automatically from raw order data.
Image: The same template applied to a different brand: totals, COGS and marketing cost recalculated instantly for any date range.
Daily and 30-day views
A daily dashboard view surfaces total and trailing-30-day sales, profit and expense metrics side by side, so the team can catch a bad week before it becomes a bad month.
Image: Daily dashboard: total and last-30-days sales, profit and expense metrics side by side for fast day-to-day monitoring.
Rolling breakdowns
A rolling 12-month view breaks total profit down into COGS, marketing cost, other expenses and disputes won, so the team can see exactly where margin is being gained or lost.
Image: Last-12-months pie chart breaking total profit down into COGS, marketing cost, other expenses and disputes won.
Built as a single Google Sheets template so finance reads live profit numbers for any date range without exporting from five different tools first.
Page · Plain text
Production Linux Server Audit and Repair for a Data Subscription Site
An audit of the single Ubuntu server behind a financial-data subscription site, a fix for its silently failed social-posting pipeline, and a documented setup so it can be maintained safely.
Section: Python Automation
The Problem
A financial-data subscription site ran a Python backend, scheduled jobs, blog and email automation and a social-posting pipeline, all on one Ubuntu VPS. The social pipeline had silently died. The client needed an audit, a fix and a roadmap.
What Was Done
- Audited the whole server (systemd units, cron, logs, nginx, gunicorn, the SQLite database and the backup job) and wrote a plain-English client report with a health score and prioritised fixes.
- Fixed the dead social pipeline with two targeted changes and stabilised the scheduling.
- Set up maintenance through a git mirror of /opt with a CLAUDE.md that describes the architecture, so Claude Code can work on it safely.
How the system runs
A single source of truth: one SQLite database plus JSON outputs.
20:00 ET systemd timer → nightly_pipeline.sh
ingest OHLC → run scanners → build JSON → DB backup to Drive (rclone)
→ build newsletter + blog post (publish via WP REST API)
→ send daily email (Brevo)
15:45 ET systemd timer → live_pipeline.py (real-time signals + options pricing)
always systemd service → gunicorn Flask API :5500 behind nginx + Cloudflare Tunnel
cron 08:15 / 08:45 / every 15 min market hours / 21:00 → content engine renders PNG/MP4 cards and posts to IG / X / TikTok
Built with
Python, Flask, SQLite, systemd, cron, bash, nginx, gunicorn, Cloudflare Tunnel, rclone, JWT auth, Stripe, the WordPress REST API, Brevo and the Post for Me API.
Page · Plain text
From a Signed DocuSign Contract to a Master Sheet Row and an Itinerary Slide
Turning a signed DocuSign travel contract into a master sheet row, a filed contract and an itinerary slide, automatically.
Section: Make Automations
Overview
An internal operations automation for a group travel company that manages college formal events.
When a group signs a travel contract in DocuSign, the operations team has several follow-up jobs: record the trip in the master ops spreadsheet, file the signed contract in the group’s Drive folder, and produce a Friday/Saturday/Sunday itinerary slide for the group.
This scenario does those three jobs automatically as soon as a DocuSign envelope is completed.
Built with Make, DocuSign, Google Apps Script, Anthropic Claude (claude-sonnet-4-6), Google Sheets, Google Slides and Google Drive.
The Problem
Each signed contract holds the details the team needs in several places: hotel names and room counts, check-in ages, buses, venues, event times, food and bar packages, and payment and task due dates. Moving these by hand into the master sheet, then building a customer-facing itinerary from them, is repetitive and easy to get wrong.
The Solution
A Make scenario that:
- Triggers when a DocuSign envelope is completed.
- Downloads the signed document.
- Sends it to a Google Apps Script web app, which returns the contract’s fields as structured data.
- Asks Claude to write the three-day itinerary text from those fields.
- Routes the result down three paths: a new-contract path, an addendum path, and an archive path.
Image: Part of the Make scenario: the DocuSign trigger and download, the HTTP call to the Apps Script web app, Claude, and a router that splits into Google Sheets, Slides and Drive paths.
Image: An example three-day itinerary slide (group, dates, hotel and company details blurred for privacy).
Page · Plain text
A Slack Bot That Answers Trip Questions from an Ops Master Sheet
A Make scenario that lets a team member ask a plain-English trip question in Slack and get an answer drawn only from the ops master sheet.
Section: Make Automations
Overview
An internal operations tool for a group travel team.
The operations team keeps all trip data in one Google Sheet (a “MASTER” tab in the workbook “Master Ops Fall 26/Spring27”). Each row is one group trip, with columns for dates, destination, ops coordinator, sales rep, contracts, hotel and rooming, transport, events, task due dates, and payment status.
This scenario lets a team member ask a plain-English question in Slack and get a structured answer drawn only from that sheet, without opening it and searching for the right row and column.
Built with Make, Anthropic Claude (claude-sonnet-4-6), Google Sheets and Slack.
The Problem
The sheet is wide. The blueprint’s column list runs from column A to column BH, with more than 55 labelled fields per trip. Finding a single fact, such as a group’s hotel or room counts, means locating the right row, then scrolling to the right column.
The Solution
A six-module Make scenario, triggered by a webhook, that:
- Receives the Slack question and channel.
- Uses Claude to turn the question into structured search terms.
- Searches the master sheet for matching trips.
- Flattens the matching rows into text.
- Uses Claude again to answer from that text only.
- Posts the answer back to the same Slack channel.
Image: The Make scenario: a custom webhook, Claude turning the question into search terms, a Google Sheets search, a text aggregator, Claude answering from the results, and a Slack message.
Image: An example answer in Slack: the question, the search terms Claude worked out, and the matching groups with their dates and destination (group names blurred for privacy).
Page · Plain text
AI-Powered RAG Chatbot for The Fast Bite: Seamless Ordering and Query Handling
Create an AI-powered chatbot that helps The Fast Bite( a fast food restaurant) customers with menu queries, placing orders, and providing restaurant details in a fast and friendly manner.
Section: AI Agents
Objective:
Create an AI-powered chatbot that helps The Fast Bite( a fast food restaurant) customers with menu queries, placing orders, and providing restaurant details in a fast and friendly manner.
Implementation:
The RAG Chatbot for The Fast Bite automatically updates itself with the latest menu and restaurant info from Google Drive and quickly uses that to help customers with orders or questions. It provides fast and accurate responses to make the customer experience smoother.
Outcome:
Triggered by New Files
The chatbot starts working whenever a new file is added to The Fast Bite’s Google Drive folder. This could include updates to the menu or any other important information.
Downloading the Information
The chatbot downloads the new file automatically from Google Drive for processing.
Understanding the Data
It uses Google Gemini (AI) to turn the downloaded content into a format that the chatbot can understand.
Storing the Info
The processed data is stored in a system called Pinecone. This helps the chatbot quickly find the answers when customers ask questions.
Handling Customer Queries
When customers ask questions, the chatbot uses this stored information to provide relevant and helpful responses instantly.
Key Features
- Fast Updates: The chatbot is always up-to-date with the latest menu or restaurant information.
- AI-Powered Answers: It uses advanced AI to provide accurate, friendly responses.
- Seamless Experience: The chatbot helps customers with ordering, customizing their meals, and answering common questions (like store hours, promotions, etc.).
Page · Plain text
PeakNIL Athlete Content Automation
Two n8n workflows that find athlete news, draft the post, and publish it to Instagram once a person approves.
Section: n8n Automations
Purpose
PeakNIL connects college athletes with brands for NIL deals. To stay visible and attract brands, it needs a steady stream of social media posts celebrating athlete achievements. These two workflows automate that process, from finding the news to publishing on Instagram, with a human approving every post.
The Problem
- PeakNIL has hundreds of athletes across 28 sports, and someone has to check news about each of them.
- Staff must decide which stories are worth posting, write captions, find usable photos, design graphics and publish.
- Doing this by hand is slow and expensive, and it can’t keep up with fast-moving sports news.
- Posting is inconsistent, so some athletes get covered and others are missed.
- Athlete records are often incomplete, which makes tracking harder.
- Posts must stay positive and brand-safe, with no injuries, losses or controversies.
The Solution
Two connected automations handle the work, and a person approves the result.
Workflow 1: Athlete Monitor (finds and drafts)
- Runs every weekday and picks athletes from the roster sheet. It skips anyone with missing data or scanned in the last 3 days.
- Searches for recent news (last 3 days) from trusted sports sources.
- Claude decides whether the story is worth posting, assigns a content category, and writes the caption and a short headline.
- Finds a clean photo of the athlete and emails the draft to the content manager for review.
Image: Workflow 1, Athlete Monitor: a schedule trigger reads the roster from Google Sheets, searches for news, has Claude draft the post, and emails it to the content manager through Gmail.
Workflow 2: Reply Detection (approves and publishes)
- The manager replies to the email with an image number or “approve”.
- The workflow reads the reply, builds a branded graphic with the chosen photo and headline, and sends it back for a final check.
- Once approved, it publishes the post to Instagram and updates the tracking sheet.
Image: Workflow 2, Reply Detection: a Gmail trigger reads the manager’s reply, then one branch builds the graphic with Placid and another publishes to Instagram after approval.
The Result
- Content creation drops from hours of manual work to a quick reply by email.
- Posting is consistent across the whole roster.
- Only positive, relevant stories go out, and nothing publishes without human approval.
- Incomplete athlete records are flagged automatically so the team can fix them.
Page · Plain text
Automatic Cleanup of Scheduled Posts When a Card Is Unapproved
An n8n workflow that checks every 15 minutes for cards that are no longer approved and removes their still-scheduled posts from Metricool, without touching anything already published or about to go out.
Section: n8n Automations
Purpose
A content team schedules social posts through Metricool from cards in Airtable. Each card stores the Metricool post ID for X, Facebook, LinkedIn and Threads. If a card is later denied, sent back to review, or its scheduling fails, the posts already scheduled for it would still go out. This workflow finds those cards and removes the leftover scheduled posts safely.
The Solution
- Every 15 minutes n8n searches Airtable for cards whose status is Pending Review, Denied, Schedule Failed or blank, but that still hold a Metricool post ID.
- A code step turns each card into one item per post ID. IDs that were already handled and logged are skipped, so settled posts are not checked again on every run.
- For each ID, n8n asks Metricool for the post, one at a time with a short pause between calls. A failed call does not stop the workflow.
- A decision step applies the safety rules below and marks each post as delete, keep, clear or retry later.
- The Delete? branch sends the delete request to Metricool for posts marked delete. Every other post goes straight to the merge step, which joins both paths.
- A code step builds one update per card. It clears the IDs of posts that were deleted or were already gone, adds a timestamped line to the card’s Unschedule Log for each ID handled, and clears the Scheduled Time when a post was deleted, so approving the card again schedules it fresh.
- Airtable saves the update. A lookup or delete that failed is left untouched, so the next run tries it again.
Image: Unschedule cleanup in n8n: a 15-minute schedule trigger, an Airtable search, a code step that splits each card into one item per Metricool ID, a lookup of each post, a decision step, a Delete? branch that either calls Metricool’s delete or skips to the merge, and a code step and Airtable update that clear the IDs and write the log.
Safety Rules
- A post that is already published is never deleted.
- A post due within the next five minutes, or already past due but not marked as published, is left alone, and the log asks someone to check Metricool.
- Only a future, unpublished post is deleted. The same rules apply to every network, X included.
- A post that Metricool no longer has counts as already gone, so its ID is simply cleared from the card.
Good to Know
- The workflow is live and runs on its own schedule.
- Every decision is written to the card’s log, so the team can see what was deleted, kept or cleared, and when.
- Metricool is called one post at a time, so a long list of cards does not flood it with requests.
Page · Plain text
Contract Intake Tool
AI-Powered Contract Validation, Human Review, Automated Google Drive Filing, Folder Organization, Missing-Term Detection & Document Tracking.
Section: Custom SaaS Platforms
Overview
The Contract Intake Tool is a web app that uses Claude AI to extract key terms from supplier contracts, flags missing information for human review, and automatically files approved contracts into the correct Google Drive folders. It also maintains a record of all filing activities..
Business Problem
Supplier contracts such as hotel, venue, and bus services) Were reviewed and filed manually, making the process time-consuming. Important terms like cancellation clauses, fees, and tax rates could be missed, and contracts sometimes ended up in the wrong Google Drive folders, making them difficult to find later for billing or disputes.
Proposed Solution
The solution is a web app that uses Claude AI to extract required terms from supplier contracts (PDFs), allows users to review missing information, and automatically files approved contracts into the correct Google Drive folders. PostgreSQL maintains a record of each filing, such as who filed it, what was filed, where it was filed, and when
How the System Works
Image: Figure: AI-Powered Supplier Contract Processing Workflow
Technology Stack
The application is built using the following technologies:
- Next.js: Web application framework.
- TypeScript: Application development.
- Claude AI: Extracts and checks required contract terms.
- Google Drive API: Files contracts into the correct folders.
- PostgreSQL: Stores filing records (who filed it, what was filed, where it was filed, and when).
- JavaScript PDF Library: Extracts text from uploaded PDF contracts.
Key Features
- AI-Powered Term Extraction: Extracts required contract terms using Claude AI.
- Missing Term Review: Flags missing information (Not Found) for manual review before filing.
- Automated Google Drive Filing: Files contracts into the correct folder based on group name, date, and category.
- Filing Activity Log: Records who filed the contract, what was filed, where it was stored, and when.
- Category-Based Checks: Checks contract terms according to the selected category (Hotel / Venue / Buses / Other).
Key Safeguards
- Human Verification: Contracts with missing terms (Not Found) require manual review before filing.
- Controlled Folder Creation: Only the Chapter and Category folders are created automatically; Year, Season, and University folders must already exist in Google Drive.
- Filing Audit Log: Each filing records who filed the contract, what was filed, where it was stored, and when.
Closing Summary
The Contract Intake Tool simplifies supplier contract processing by combining AI-powered term extraction, human review, and automated Google Drive filing. It helps reduce manual work, identify missing terms, and maintain a clear record of filing activities.
Page · Plain text
Power BI: One Live View of a Multi-Site Clinic Network
A governed Power BI model unifying scheduling, EHR, billing and finance across four systems into two role-based dashboards refreshed every morning.
Section: Power BI
Power BI Case Study · Healthcare
Multi-site clinic network: scheduling, EHR, billing & finance unified · 6-week engagement
- 128,400: Appointments / yr
- 86.4%: Provider utilisation
- 7.8%: No-show rate
- 32 days: Days in AR
Reports that used to take days across sites now land by 6am, and we act on them the same morning.
The network ran on four disconnected systems: scheduling, the EHR, billing/claims and finance. Leadership could never see patient flow, provider utilisation and revenue-cycle health in the same place, and each site’s monthly report was rebuilt by hand. I consolidated all four into one governed Power BI model behind two role-based dashboards, refreshed automatically every morning, turning days of manual reporting into a screen the team reads with their coffee.
What Was Leaking
- Siloed systems: Scheduling, EHR, billing and finance never lined up, so no-shows, utilisation and collections couldn’t be seen together.
- Manual per-site reporting: Every site’s pack was rebuilt by hand (weeks behind by the time it landed, and easy to get wrong).
- Invisible revenue leakage: Denials, AR aging and slow collections weren’t tracked in one place, so cash slipped through unnoticed.
Dashboard One: Patient Flow & Utilisation
Appointments vs utilisation, department mix, top sites, a day-by-hour utilisation heat map and capacity gauge.
Image: Patient Flow & Utilisation: Executive Overview
- Utilisation heatmap: Spots under-used clinic slots by day and hour at a glance.
- Sites & departments: Ranks volume and no-shows together, site by site.
- Volume vs utilisation: Pairs appointment growth with the utilisation trend.
- Capacity gauge: Tracks attainment against the plan, currently 96%.
Dashboard Two: Revenue Cycle & Claims
Billed vs collection rate, a claims funnel, AR aging buckets and net revenue by payer.
Image: Revenue Cycle & Claims
- Claims funnel: Shows where submissions fall out before they’re paid.
- AR aging: Flags the £84K stuck in 90+ days for chase-up.
- Billed vs collected: Tracks the collection rate month over month.
- Payer mix: Splits net revenue across NHS, insurers and self-pay.
How It’s Built
| Stage | What We Built | Tools |
|---|
| Sources | 4 systems: Scheduling · EHR · Billing · GL | REST / API / file connectors |
| Clean | Key standardisation | Power Query |
| Model | Star schema, shared date table, DAX | Power BI model + DAX |
| Secure | RLS by site, per-site access | RLS roles |
| Deliver | 06:00 refresh via gateway & service | Power BI Service + gateway |
The Impact
After six weeks
- +5.0pts: Provider utilisation
- −2.1pts: No-show rate
- −6 days: Days in AR
- 3 days → 0: Manual reporting
With utilisation and no-shows visible by site and hour, the network reallocated clinic slots and tightened reminders, lifting utilisation five points while trimming no-shows, and replacing days of manual work with an automatic 6am refresh reconciled to the ledger.
Page · Plain text
Newsletter Generator: From a Google Sheets Row to a Draft Campaign
A Make scenario that turns one row of a Google Sheets newsletter planner into a finished draft campaign in Campaign Monitor, in one of three layouts chosen by the editor.
Section: Make Automations
Purpose
A publishing business sends a regular email newsletter with news articles, sponsored posts, a destination report and a podcast episode. Building each issue by hand in the email tool means copying titles, images, excerpts and links into a template, block by block. This Make scenario lets the editors plan the whole issue in a Google Sheet and creates the campaign automatically.
The Solution
- An editor fills in one row of the newsletter sheet. It holds the titles, images, excerpts, links and category labels for three news posts and three sponsored posts, plus the destination report and the podcast episode.
- The editor picks a template number (1, 2 or 3) and sets the Create Newsletter cell to “Create”.
- On its schedule, the scenario searches the sheet for a row marked Create and takes one row at a time.
- A router checks that a row was found and sends it down one of three routes, depending on the template number.
- Each route has a code step that builds the full newsletter from the row. The first route builds the three-row layout. The other two build the mixed layout, with two posts side by side and one centred below, each with its own template.
- An HTTP step sends the result to the Campaign Monitor API, which creates a draft campaign from the chosen template.
- A final Google Sheets step updates the row with “Done”.
Image: The Make scenario: Google Sheets searches for a row marked Create, a router picks one of three templates, a code step builds the newsletter content, an HTTP call creates the campaign from the template, and Google Sheets updates the row. A Skip step on each route handles errors.
What the Code Builds
- The newsletter is built section by section: a top banner, the news posts, a banner, the sponsored posts, the destination report, the podcast episode and a second banner.
- Each news and sponsored post gets its image, a category label, its title and excerpt, and a button (Read More or Learn More) linked to the post.
- The destination report has an image, a badge, the destination name, a description and a Read Full Report button. The podcast block has an image, a date line, the title, a description and a Listen Now button.
- Gaps are filled in for the editors. A missing image on a news or sponsored post is replaced by a default image, a missing link points to the main website, and every issue gets a unique campaign name with a timestamp.
- The subject line and the header date default to the current month and year, and the sender details and subscriber list are set in the same step.
Good to Know
- The editors work only in the sheet. All copy, images and links live there, so nobody has to open Make or edit a template to produce an issue.
- The campaign is created as a draft in Campaign Monitor, so the team can check it there before it is sent.
- If Campaign Monitor returns an error, the scenario skips that run instead of stopping with an error.
Page · Plain text
AI-Powered Meta Ads Reporting
An AI reporting system that pulls Meta Ads data, flags underperforming ads in real time, and recommends budget and creative changes.
Section: AI Agents for Ecommerce, AI Agents
1. The Problem: Manual Meta Ads Analysis Is Time-Consuming
Before this system, marketers spent hours manually collecting and analyzing campaign data for Facebook and Instagram:
- Gathering metrics from multiple campaigns and ad sets took 6–8 hours per week per marketer
- Detecting underperforming ads was reactive, often 30–40% of low-performing ads weren’t optimized in time
- Scaling campaigns beyond 5–10 ad sets was difficult
- Decisions were based on intuition rather than data
2. The Results After Automation
After implementing AI-Powered Meta Ads Reporting:
- Reporting time dropped from 6–8 hours to under 1 hour per week
- 90% of underperforming ads were flagged in real time instead of being missed
- Campaign response time improved from 1–2 days to under 1 hour
- ROAS increased by 15–25% due to faster budget and creative optimizations
- Each marketer saved approximately 7 hours per week (~364 hours per year)
- Campaign management scaled from 10 ad sets to 50+ ad sets without adding staff
- Human errors in campaign adjustments dropped by ~90%
3. The Goal: Fully Automated Meta Ads Insights
The system was designed to
- Automatically pull campaign, ad set, and ad-level data
- Analyze performance with AI
- Generate actionable recommendations for budgets, targeting, and creatives
- Provide natural language query support through AI assistants
- Monitor campaigns continuously and alert users for deviations
3. System Architecture
Phase 1: Data Collection & Normalization
- Pulls all campaign metrics automatically: impressions, clicks, CTR, conversions, ROAS, CPA, spend, and budget utilization
- Cleans and normalizes data for AI analysis
Phase 2: AI-Powered Performance Analysis
- AI detects trends, anomalies, and underperforming ads automatically
- Flags ads with CTR below benchmark, low ROAS, or conversion anomalies
Phase 3: Optimization Recommendations
- AI suggests budget reallocations, audience adjustments, and creative improvements
- Prioritized by expected impact on KPIs
Phase 4: Reporting & Alerts
- Real-time dashboards for CTR, CPA, ROAS, conversions, spend, and impressions
- Alerts triggered automatically for KPI deviations
Phase 5: AI-Assisted Campaign Management
- Users request campaign changes through natural language
- AI validates and executes changes automatically
- Every adjustment tracked for impact on KPIs
4. Real-World Impact
🟦 Massive Time Savings
Each marketer saves ~7 hours/week, translating to ~364 hours/year
🟦 Faster Optimization
Campaign adjustments happen within 1 hour instead of 1–2 days
🟦 Improved ROI
ROAS increases by 15–25% due to timely reallocations and creative optimization
🟦 Error Reduction
Human errors in campaign adjustments drop by ~90%
🟦 Scalability
Campaign management scales from 10 ad sets to 50+ ad sets per account without extra staff
5. Final Outcome
With AI-Powered Meta Ads Reporting
- Campaign analysis is fully automated
- Marketers make faster, data-driven decisions
- ROI improves through budget and creative optimization
- Time savings allow focus on strategy rather than manual work
- Scaling campaigns is simple, accurate, and efficient
Page · Plain text
ClickUp Structure: Taraki Staffing Company
Detailed ClickUp workspace structure for a staffing company’s operations.
Section: ClickUp Setups
Main Folder: Taraki Staffing Operations
Recruitment
Lists
- Job Postings: Manages the lifecycle of job openings.
- Custom Fields: Job ID, Role Title, Department, Status (Open, Filled, On Hold), Date Posted, Location, Salary Range, Job Description.
- Automations: Notify recruitment team when a job is posted; send email alerts when status changes; auto-archive roles once filled; reminder for follow-up if position remains unfilled past a target date.
- Candidate Screening: Initial assessments to filter candidates.
- Custom Fields: Candidate ID, Name, Contact Information, Screening Date, Screening Outcome, Resume Link, Screening Notes.
- Automations: Move successful candidates to ‘Interview Scheduling’; send rejection emails automatically to unsuccessful candidates.
- Interview Scheduling: Organizes interviews between candidates and hiring managers.
- Custom Fields: Interview ID, Candidate ID, Scheduled Date, Interviewer, Format (Virtual, In-person), Interview Notes, Follow-Up Required.
- Automations: Reminder notifications to both interviewers and candidates 24 hours before; post-interview follow-up task creation.
- Offer Management: Handles job offers and negotiations.
- Custom Fields: Candidate ID, Offer Date, Acceptance Status, Start Date, Offer Details, Salary Offered, Benefits.
- Automations: Update job posting status to ‘Filled’ upon offer acceptance; trigger onboarding tasks upon offer acceptance.
Client Management
Lists
- Client Accounts: Information and management of all active clients.
- Custom Fields: Client ID, Company Name, Contact Person, Service Level Agreement, Account Manager, Last Contact Date, Next Scheduled Review.
- Automations: Quarterly review reminders to account managers; update tasks for annual contract renewal.
- Project Requests: Staffing requests and requirements from clients.
- Custom Fields: Request ID, Client ID, Required Positions, Urgency, Fulfillment Status, Details of Requirements, Expected Fulfillment Date.
- Automations: Alert recruitment team when a new request is categorized as ‘Urgent’; status update notifications to clients.
Compliance and Onboarding
Lists
- Compliance Tracking: Ensures all placements meet legal and regulatory requirements.
- Custom Fields: Placement ID, Compliance Checklist, Verification Date, Issues, Resolution Status, Compliance Officer.
- Automations: Compliance verification task triggered upon every new placement; alerts for unresolved compliance issues.
- Employee Onboarding: Streamlined tasks and resources for new hires.
- Custom Fields: Employee ID, Onboarding Date, Required Documents, Training Schedule, Onboarding Complete, Mentor Assigned.
- Automations: Trigger onboarding process when an offer is accepted; checklists for mentors; notification when onboarding is incomplete.
Performance Management
Lists
- Employee Reviews: Systematic performance reviews.
- Custom Fields: Employee ID, Review Period, Performance Score, Feedback, Improvement Plan, Reviewer.
- Automations: Schedule next review based on the last review date; reminders for pending reviews; generation of performance improvement tasks if needed.
- Client Feedback: Feedback from clients about placed employees.
- Custom Fields: Client ID, Employee ID, Feedback Date, Satisfaction Level, Specific Comments, Follow-Up Actions.
- Automations: Generate follow-up tasks for client satisfaction management; periodic feedback requests to clients.
Page · Plain text
Cold Email Copy Generation with Automatic Quality Checks
An AI tool that writes five cold email sequences in spintax format in minutes and checks each one against eight quality rules, rewriting any that fail.
Section: Python Automation
Overview
Cold email copy generation and quality control. Instead of spending hours writing email variations by hand in spintax format and checking each line against banned phrases and formatting rules, teams now get five production-ready email sequences in minutes.
The Problem
Creating cold email variations meant hours of manual work. Writers had to draft email sequences by hand, then apply spintax format line by line, a tedious process where every variation had to be written and formatted separately. Quality control was completely manual: each line had to be checked against banned phrases and banned words, word counts verified, spintax coverage confirmed, and offer rotation rules checked. With no automated checklist, mistakes slipped through before emails went into the sending tool. Creating five email sequences took 5 to 10 hours of work, was error-prone, and depended entirely on someone being available to do it correctly.
What the Automation Does
Image: The team interface: a chat assistant on the left, a button to generate the week’s strategy, and Copy Variations and History at the top.
Step 1: Email sequences are generated
The automation takes the email parameters and requirements, then uses AI to generate five complete cold email sequences in full spintax format, with multiple variations per email step (A/B variants) so testing options are built in.
Step 2: Automatic quality checks run
Every generated copy is automatically checked against eight quality rules: word count, spintax coverage on every line, banned phrases, banned words, offer accuracy, hook uniqueness, offer rotation compliance, and more. If a copy passes all checks, it is flagged as production-ready. If it fails, the system automatically rewrites it (up to three retries) to meet the requirements.
Step 3: Ready-to-send copies are delivered
The team receives five email sequences with a pass or fail verdict on each. Every copy is either production-ready or clearly flagged as needing manual revision, so there are no surprises or quality issues after the copy goes into the sending tool.
Tools and Integrations Used
- Custom code automation (AI-powered email generation and quality control)
- Anthropic Claude (copywriting and analysis)
- Python and FastAPI (backend automation)
- TypeScript, React and Next.js (team interface)
The Result
Teams no longer spend 5 to 10 hours writing and quality-checking email sequences by hand. Five production-ready sequences now generate automatically in minutes. Quality control shifted from a manual checklist to an automated pipeline that catches banned phrases, spintax gaps, word count violations and formatting mistakes instantly. Every copy follows the same proven structure with consistent formatting. What used to take hours of manual writing and QA now happens automatically, freeing the team to focus on strategy and testing instead of production work.
Summary
The tool automates the full cycle from email copy generation to quality-checked delivery. Teams provide their email requirements, the automation generates five complete sequences in spintax format, automatic quality checks verify everything, and production-ready emails are delivered in minutes instead of hours. The team stays in control, since they review and approve the output, while the repetitive writing and quality-checking work is handled automatically.
Page · Plain text
AI-Powered Fashion Campaign Image Generation
An n8n workflow that turns one product photo into AI-generated model images plus eCommerce and lifestyle campaign shots, saved to Google Drive.
Section: n8n Automations, AI Agents
1. The Problem: Manual Image Creation for Fashion Campaigns
Before automation, the creative team manually handled photo shoots and model image generation, resulting in:
- Time-consuming image conceptualization and generation processes
- Need for specialist prompt engineering for AI image generation
- Fragmented workflows managing product images
- Delays and inconsistency in campaign visuals
The goal was to integrate the entire creative photo shoot pipeline into one automated, AI-powered system to rapidly produce consistent, high-quality fashion campaign images.
2. The Goal: Fully Automated Photo Shoot Workflow in One System
By using n8n with AI models and image generation APIs, this workflow:
- Allows uploading a product item image via a simple form trigger
- Automatically analyzes the product to build a creative prompt
- Generates a photo-realistic product model image matching the style
- Further generates high-quality eCommerce and lifestyle product prompts referencing the model and product images
- Produces final photorealistic campaign images dynamically and uploads them to Google Drive
- Streamlines the entire creative direction and image generation process from one system
3. System Architecture (Simplified)
Phase 1: Image Input & Model Creation
- Form Trigger initiates with a clothing image upload
- Convert uploaded image to base64 for API usage
- Build creative prompt with internal logic for garment analysis and ideal model persona
- Call AI image generation API (Google Gemini model) to create a unique fashion model images
- Save and upload model images to Google Drive
Phase 2: Prompt Generation & Result Image Creation
- Use the generated model image and the original clothing image as references
- Build multiple detailed image prompts for eCommerce studio shots and lifestyle scenarios
- Generate corresponding photorealistic images via AI API calls
- Validate generation success and upload final images to Google Drive
4. RealWorld Impact
Here is how the automation changes creative production:
🟦 Zero manual promptwriting
All creative direction and prompt engineering is baked into the workflow.
🟦 Consistent, onbrand visuals
Every product gets a full set of standardized eCommerce shots plus lifestyle scenes.
🟦 Massive time savings
What used to take hours of backandforth between creative, photography, and AI tools now runs in minutes.
🟦 Scalable for any catalog
You can run this for 1 product or 1,000 products with the same quality bar.
🟦 Organized assets
All outputs go straight into the right Google Drive folder, named in a predictable way.
5. Expected Impact
Here are the KPIs this automation improves
Time Savings
Manual creative + prompt time reduced by 70–90%.
A brand manager or designer saves several hours per campaign.
Error & Inconsistency Reduction
No more forgotten angles, missing lifestyle shots, or halfbaked prompts.
Every product gets the same full coverage: front, angle, back, detail, plus lifestyle.
Content Production Speed
Campaignready visuals can be generated the same day products arrive.
Faster gotomarket for new drops and collections.
Asset Organization
100% of generated images land in the correct Google Drive folder.
Standard naming like “AI Model” and “Result #X” keeps sets easy to browse.
Creative ROI
You reuse the same expert logic and creative direction across unlimited products.
More content, more speed, and less dependency on external shoots for every variation.
Page · Plain text
AI-Powered Shopify Abandoned Cart Recovery System
An always-on automation that detects abandoned Shopify carts and sends personalized, AI-written recovery emails.
Section: n8n Automations, Make Automations, AI Agents
1. The Problem: Abandoned Carts Were Leaving Revenue on the Table
Before automation, abandoned carts were handled manually or not followed up at all:
- Teams had to manually check Shopify for abandoned checkouts
- Writing reminder emails took time and effort
- Most carts were never followed up consistently
- Emails were generic, not personalized
- Delays caused customers to lose purchase intent
On average
- Each abandoned cart follow-up took 5–7 minutes
- Most stores only followed up once per day or skipped entirely
- Many potential sales were lost simply due to no timely reminder
For stores with 40–60 abandoned carts per day, this resulted in:
- 3–5 hours of manual work daily, or
- No follow-up at all, leading to permanent revenue loss
2. Results After Automation
After implementing the abandoned cart recovery automation:
- Follow-up emails are sent automatically within the right time window
- 100% of abandoned carts receive a recovery attempt
- Email personalization happens instantly using AI
- Manual work is reduced by 90–95%
- Recovery emails are sent within minutes, not hours
Time & Revenue Impact
Before
- ~6 minutes per cart
- 50 carts/day = ~5 hours/day
After
- Fully automated
- Human effort = near zero
Monthly time savings
~100–120 hours saved per month
Revenue uplift (conservative example)
- If only 5–8% of abandoned carts convert
- And average cart value is $50
- That’s $100–$200+ recovered per day
- $3,000–$6,000+ per month in recovered revenue
3. The Solution: AI-Powered Abandoned Cart Recovery
This system works like an always-on sales assistant:
- Detects abandoned carts automatically
- Waits before sending reminders to avoid spamming
- Confirms the cart is still abandoned
- Generates a personalized recovery email using AI
- Sends the email instantly without manual input
The entire process runs silently in the background.
4. How the Automation Works
- Shopify provides abandoned checkout data
- n8n controls timing and logic
- AI writes friendly, personalized recovery emails
- Gmail delivers messages directly to customers
No dashboards to monitor. No buttons to click.
5. Business Value
- Captures revenue that would otherwise be lost
- Removes repetitive manual follow-up work
- Improves customer experience with timely reminders
- Ensures every cart gets equal attention
- Scales automatically as store traffic grows
6. How You Can Duplicate This System
Open the JSON file preview
Open the attached file
- Shopify Abandoned Checkout Recovery with Order Verification (1).json
- Select all text (Ctrl/Cmd + A) and copy (Ctrl/Cmd + C)
Open Make.com
Log in to Make.com
Go to Scenarios
Click Create a new scenario
Choose Import Blueprint
- Paste the copied JSON and click Save
- Save & name the scenario
Click Save
Rename it to
Shopify Abandoned Checkout Recovery with Order Verification
- Update connections (important)
- Shopify
- Reconnect your Shopify account
- Ensure checkout status is set to abandoned
- Delay module
- Review delay timing (used to confirm the cart is still abandoned)
- Filter / verification
- Confirms checkout is not duplicated or already completed
- OpenAI
- Add your OpenAI API key
- Verify the email body is generated correctly (no subject, no emojis)
Email (Gmail / SMTP)
- Reconnect email account
- Map customer email dynamically
- Subject: You left something behind
- Test the scenario
- Click Run once
Confirm flow
- Abandoned checkout detected
- Cart rechecked
- AI email generated
- Recovery email sent
- Enable the scenario
- Turn the scenario ON
- Set a schedule (e.g. every 15–60 minutes)
The system now automatically sends AI-written recovery emails for verified abandoned checkouts.
7. Final Outcome
With this automation in place
- Abandoned cart recovery becomes reliable and consistent
- Sales teams no longer chase carts manually
- Customers receive timely, personalized reminders
- Revenue increases without increasing workload
This workflow transforms abandoned carts from a missed opportunity into an automated revenue recovery system.
Page · Plain text
Newsletter Performance Agent: Daily Scoring of Every Sent Issue
An n8n workflow that finds each newsletter issue after it is sent, removes machine clicks from the numbers, scores it against the account’s own baseline, and posts an AI analysis to the team.
Section: n8n Automations
Purpose
A publisher sends a regular email newsletter through Kit. This n8n workflow scores every sent issue automatically. It pulls the issue’s stats from Kit, corrects the click numbers for machine traffic, compares the result with the account’s own history, asks Claude for an analysis, and shares it with the team.
The Solution
- The workflow runs every day at 17:00 South African time, and it can also be started by hand.
- It reads the last 40 logged issues from Airtable and the list of broadcasts from Kit.
- It picks the newest completed send from the last 36 hours that has not been logged yet. If there is none, it stops with nothing to score.
- It pulls that issue’s stats and its link-level clicks from Kit. If the link report is missing, the run carries on and marks the clicks as raw and unverified.
- A code step calculates the metrics, as described below.
- It reads the active newsletter rules from Airtable, so the analysis does not suggest rules that already exist.
- Claude receives the numbers and the rules, and returns its analysis as structured data.
- A second code step cleans the text, keeps at most two proposed rules and labels each one “PROPOSAL, not active”.
- The result is saved as a new row in the Performance table in Airtable, with the stats, the score, the analysis and the recommendations.
- Two things then happen at the same time. A short summary is posted to the team’s Telegram feedback group and the run is logged. Any proposed rules are saved to the Newsletter Rules table as inactive.
Image: The Newsletter Performance Agent in n8n: a daily trigger or a manual run, a look-up of past issues and Kit broadcasts, a step that picks the sent issue, Kit stats and link clicks, the metrics code, the Claude analysis, and an Airtable row. The row then leads to the Telegram summary and run log on one branch, and to the proposed rules on the other.
What the Code Calculates
- Machine clicks are removed. Mail security gateways often click every link in a message once. This shows up as a flat plateau across many links, while real readers produce a steep curve. The workflow detects the plateau and subtracts it, which gives an adjusted click rate. Against past sends, raw click rates of 7.73 and 6.64 percent came out at 2.63 and 2.54 percent, and a clean issue was left untouched.
- Each issue is scored against a baseline. The baseline is the median open rate and click rate of past issues. Segment sends, with fewer than half the usual recipients, are left out. A score of 1.00 means the issue was on the baseline.
- Clicks are attributed to products and positions. They are grouped by the campaign tag in each link, with the date suffix removed so that a trend can form over time, and by the slot tag that marks where the link sat in the issue.
- Anything doubtful is flagged. The flags cover missing link data, segment sends and links without a dated campaign tag, and they travel with the analysis.
What the AI Is Told
- Adjusted click figures are the truth. A raw click number is never called a win, and if raw and adjusted disagree, it says so.
- Sales cannot be measured here, so clicks on a product link count as interest, never as revenue.
- Do not propose rules that are already in force. Propose a new rule only when the evidence supports it, zero is a good answer, and each one must state its evidence.
- Keep it short: an analysis of two paragraphs at most, no more than three recommendations, and a Telegram summary under 600 characters. Do not invent data.
Good to Know
- The agent suggests but never decides. Proposed rules stay inactive until a person ticks Active in Airtable, and only then do they reach the writing prompts.
- Each issue is scored once, because it is logged by its Kit broadcast ID and send date.
- The summary lands in Telegram, the full write-up sits in Airtable, and every run is logged.
Page · Plain text
End of part 1 of 4. Continue with part 2.