Case Studies — Workflow Day

Index

Click a row to jump to the full write-up ↓

Project
Industry
Stack
Outcome
C.01
Auto-scheduled Wix blog
Lifestyle publisher · CA
Airtable · GPT-4 · DALL·E · Wix
30 posts/mo · 6h saved per post
C.02
Google review autopilot
Dental group · 6 clinics · AU
GMB API · GPT-4 · Todoist · Drive
90% replied < 2h · 4.9★ avg
C.03
Slack-to-Shopify product builder
Fashion brand · UAE
Slack · GPT-4 · Drive · Shopify
38× faster · 22s per product
C.04
Invoice-to-Xero AI parser
Construction firm · Melbourne
Gmail · GPT-4 Vision · Xero · Sheets
94% auto-coded · 22h saved / wk
C.05
Lead-routing & AI qualification engine
B2B SaaS · 4 SDRs · Toronto
HubSpot · Claude · Slack · Cal.com
3.4× pipeline · < 90s response
C.01 / CONTENT OPS
Wix Lifestyle publisher · Toronto · 18 staff

From empty Wix blog to auto-scheduled 30 posts a month.

The client had a content calendar. A Wix site. And a 3-person editorial team that kept missing deadlines because of the copy-paste tax between drafting, image generation, OAuth refresh, and Wix’s admin UI.

Brief

Publish 30 on-brand posts per month to a Wix blog, fully unattended, from a single Airtable queue. Editorial team reviews titles only.

What we built

A Make.com scenario watching Airtable for new briefs. GPT-4 drafts title and 1,200-word body. DALL·E generates a 1792×1024 hero. An HTTP module handles Wix OAuth refresh every run — the hardest single part of this job. Post is created as draft, scheduled for 9am local, and the Airtable row updated with the live URL.

Gotcha

Wix’s blog API rejects posts >80KB with images inlined. We split into two calls: upload media first, then reference by ID in the post payload. Nobody in Make.com forums had documented this — cost us a day, now costs you nothing.

30×posts per month
6hsaved per post
0manual steps
“The editorial team went from drafting posts to reviewing titles. Our traffic’s up 4x and nobody’s working weekends anymore.”
SB
Sarah B. · Editor-in-Chief · Northbrook Media
workflowday.co/scenarios/wix_blog_generator
wix_blog_generator_v3 ACTIVE
sched */30m
last_run · errors 0
idle · click Run once
Modules · wix_blog_generator_v38 modules · avg 22s / run
#ModuleActionNotes
01Airtablewatch_recordspoll blog_queue · status=ready
02OpenAI · GPT-4gen_titleSEO keyword match · 60char cap
03OpenAI · GPT-4gen_body1,200 words · clinic tone preset
04DALL·E 3gen_image1792×1024 · brand palette
05HTTPwix_oauthrefresh token if <15m left
06Wixupload_imagemedia ID returned
07Wixdraft_postschedule 09:00 local
08Airtableupdate_recordstatus=scheduled · post_url
C.02 / REPUTATION
Google Business Dental group · 6 clinics · Sydney

Google reviews, monitored, replied, and emailed.

The practice manager was checking Google My Business three times a day, copying reviews into a spreadsheet, and drafting replies in clinic voice. Bad reviews sometimes sat 48 hours before anyone saw them.

Brief

Monitor all six clinic locations, auto-reply to 4–5 star reviews, flag 1–3 star reviews for human review with a drafted response ready, and email the practice manager a daily digest.

What we built

Scenario polls every 15 minutes. GPT-4 classifies sentiment and drafts replies in the clinic’s voice (we fed it 40 example past replies). High-star reviews post automatically. Low-star reviews become Todoist tasks with drafted replies attached and a 2-hour SLA timer.

Gotcha

GMB’s reply endpoint is brutally rate-limited and only returns a generic 429 — no retry-after header. We built exponential backoff with a 6h max, persisted in Make’s Data Store, with a manual kick from a secondary scenario if a review sits unactioned >90 min.

90%replied < 2 hours
4.9★avg across 6 clinics
$0extra staff hired
“We used to hire a part-timer just for reviews. That role doesn’t exist anymore. And our Google ranking in our local area has never been higher.”
JH
Dr. James H. · Principal · Harbourside Dental Group
workflowday.co/scenarios/gmb_review_autopilot
gmb_review_autopilot_v2 ACTIVE
sched */15m
last_run · errors 0
idle · click Run once
Modules · gmb_review_autopilot_v29 modules · avg 14s / run
#ModuleActionNotes
01Airtableevery_15mcron trigger · all 6 clinics
02OpenAI · GPT-4score_reviewsentiment + urgency score
03OpenAI · GPT-4draft_replyclinic voice · 40-shot primed
04OpenAI · GPT-4gen_summarydaily digest prose
05HTTPgmb_postexponential backoff · max 6h
06Driveupload_docdigest archived by week
07Todoistflag_lowstar ≤3 → 2h SLA task
08Airtablelog_rowaudit log · all replies
09Data Storepersistretry state · next poll time
C.03 / COMMERCE
Shopify Fashion brand · Dubai · 14k SKUs

Shopify products, created by chat command.

The merchandising team was spending 14 minutes listing each new product — filling title, description, variants, SEO meta, images, and tags. For a brand adding 800+ SKUs a month, that’s a full-time job disguised as “data entry.”

Brief

Let the merchandising team type /product vintage-denim jacket $129 in Slack and have a complete Shopify listing go live within 30 seconds.

What we built

A Slack slash-command triggers a Make.com scenario. A router splits by product type (apparel, accessory, footwear — each has different size grids). Three parallel GPT-4 calls generate title, variants, and SEO meta. Drive fetches pre-uploaded product photography by SKU code. An aggregator merges the JSON, Shopify’s Admin API creates the product, and a confirmation posts back to the Slack channel with the live URL.

Gotcha

Shopify’s Admin API silently truncates the tags field at 255 characters — no error, just truncation. We added a pre-flight module that hashes and compresses the tag set, then reconstructs on retrieval. Also added a dead-letter queue for products that fail validation so the team can inspect + fix rather than losing the payload.

38×faster to list
22savg per product
14kSKUs migrated
“Our merchandising team now ships what used to take a week in a morning. The Slack command became the fastest-adopted internal tool we’ve ever rolled out.”
AK
Ahmed K. · CTO · Palm Retail Group
workflowday.co/scenarios/slack_to_shopify
slack_to_shopify_v4 ACTIVE
trigger · webhook
last_run · errors 0
idle · click Run once
Modules · slack_to_shopify_v49 modules · avg 22s / run · 3 parallel branches
#ModuleActionNotes
01Slackslash_cmd/product parser · regex
02Routerby_typeapparel · accessory · footwear
03OpenAI · GPT-4titlebranch A · brand tone
04OpenAI · GPT-4variantsbranch B · size grid by type
05OpenAI · GPT-4seo_metabranch C · 155char max
06Driveget_imageslookup by SKU prefix
07Aggregatormerge_jsonwait for all 3 branches
08Shopifycreate_productAdmin API · DLQ on fail
09Slackpost_urlreply in thread · live URL
C.04 / FINANCE OPS
Xero Construction firm · Melbourne · 110 staff

Supplier invoices, read, coded, and reconciled on arrival.

The bookkeeper was opening 200+ supplier invoices a week from a single shared inbox — PDFs, scanned photos, line-of-sight Tradies’ phone snaps. Each one took 4–6 minutes to manually code into Xero against the right project, GL account, and tax rate.

Brief

Auto-process every PDF or image invoice arriving at accounts@ — extract supplier, ABN, line items, GST, then push as a draft bill in Xero coded to the right job.

What we built

Gmail watcher captures every attachment. GPT-4 Vision reads the invoice — handwritten or printed — and returns structured JSON. A lookup against an Airtable supplier registry resolves ABN → contact ID. The job code is matched from invoice PO references. Drafts a Xero bill, attaches the original PDF, and posts a Slack card so the bookkeeper can approve in one click.

Gotcha

Vision occasionally hallucinates supplier names on poor-quality phone photos. We added a two-pass confidence gate: if name confidence < 0.85, the invoice queues into a “Needs review” Slack channel instead of auto-drafting. False-positive rate dropped from 11% to 0.4%.

94%auto-coded
22hsaved / week
200+invoices / wk
“Our bookkeeper went from drowning in PDFs to spot-checking exceptions. Month-end close is now three days, not nine.”
RM
Rachel M. · Finance Director · Westcape Construction
workflowday.co/scenarios/invoice_to_xero
invoice_to_xero_v2 ACTIVE
trigger · gmail watch
last_run · errors 0
idle · click Run once
Modules · invoice_to_xero_v29 modules · avg 18s / run
#ModuleActionNotes
01Gmailwatch_attachmentslabel:supplier-invoice · pdf+jpg
02GPT-4 Visionextract_fieldssupplier · ABN · line items · GST
03Filterconfidence_gatesupplier conf ≥ 0.85
04Airtableresolve_supplierABN → Xero contact_id
05GPT-4match_jobPO reference → project_id
06Xerocreate_billstatus=draft · attach pdf
07Slackapproval_card1-click approve in #accounts
08Sheetslog_rowaudit · supplier · amount · gst
09Gmaillabel_donearchive original thread
C.05 / REVENUE OPS
HubSpot B2B SaaS · 4 SDRs · Toronto

Inbound leads, qualified and routed in under 90 seconds.

A 22-person SaaS was leaking pipeline at the front door. Inbound leads landed in HubSpot, sat in a Round Robin, and the average first-touch was 14 hours. By then most had already booked a competitor demo.

Brief

The moment an inbound demo form fires, enrich the lead, score fit, route to the right SDR, post a briefing card in Slack, and offer the prospect a self-serve booking link — all in under two minutes.

What we built

Webhook catches the HubSpot form. Clearbit + LinkedIn enrichment fills firmographics. Claude Sonnet reads website + funding data and scores against an ICP rubric we built with the head of sales. A router assigns the SDR by territory + book-of-business. Cal.com sends a personalised booking link with the SDR’s calendar pre-filtered to the prospect’s timezone.

Gotcha

SDR territory rules changed mid-quarter and the routing fell apart silently. We rebuilt the routing table as an Airtable view the RevOps lead can edit, with a dry-run preview module that simulates the next 50 routings before saving. Zero misroutes since.

3.4×pipeline created
<90sfirst-touch time
62%demo show rate
“We didn’t need more SDRs — we needed leads to stop dying in the queue. Workflow Day rebuilt our front door. Pipeline tripled in one quarter.”
EN
Elena N. · VP Revenue · Linewell Software
workflowday.co/scenarios/lead_qualification_router
lead_router_v5 ACTIVE
trigger · webhook
last_run · errors 0
idle · click Run once
Modules · lead_router_v510 modules · avg 12s / run · webhook trigger
#ModuleActionNotes
01HubSpotwebhook_inform: book-a-demo
02Clearbitenrichfirmographics · headcount · funding
03HTTPlinkedin_lookuptitle · seniority · tenure
04Claude · Sonneticp_score0–100 · rubric v3
05Routerby_territoryNA / EMEA / APAC · book of biz
06Airtableget_ownerSDR rotation · capacity gate
07HubSpotassign_ownerset lifecycle=SQL
08Slackbrief_cardSDR DM · enrichment + score
09Cal.comsend_linkSDR calendar · prospect TZ
10Sheetsaudit_rowrouting log · dry-run diff
Your turn

Bring us the spreadsheet
you secretly hate.

30-minute call. You describe the manual work. We tell you what’s automatable, what isn’t, and roughly what it would cost. No slides, no NDA, no follow-up drip.

Availability · this month

next_slotThu, 24 Apr · 2pm AEST
capacity2 of 4 slots open
response< 4 hours
timezonesAEST · GST · EST