<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Pearl Ops Notes]]></title><description><![CDATA[Pearl Ops Notes]]></description><link>https://simplypearlnicole.hashnode.dev</link><generator>RSS for Node</generator><lastBuildDate>Sat, 31 Oct 2026 19:03:33 GMT</lastBuildDate><atom:link href="https://simplypearlnicole.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[5 Make.com + Google Sheets Automations Every Solopreneur Should Steal (Free Walkthrough)]]></title><description><![CDATA[I kept rebuilding the same five workflows for every solopreneur I helped. Different business, same problems: leads getting lost, invoices nobody chased…]]></description><link>https://simplypearlnicole.hashnode.dev/5-make-com-google-sheets-automations-every-solopreneur-should-steal-free-walkthrough</link><guid isPermaLink="true">https://simplypearlnicole.hashnode.dev/5-make-com-google-sheets-automations-every-solopreneur-should-steal-free-walkthrough</guid><category><![CDATA[automation]]></category><category><![CDATA[Productivity]]></category><dc:creator><![CDATA[April]]></dc:creator><pubDate>Tue, 27 Oct 2026 14:16:46 GMT</pubDate><content:encoded><![CDATA[<p>I kept rebuilding the same five workflows for every solopreneur I helped. Different business, same problems: leads getting lost, invoices nobody chased, new clients waiting on a welcome email, content that never got posted, and a pile of receipts in Gmail at tax time.</p>
<p>So here they are. Each one runs on Make.com plus a Google Sheet, and each one fits inside the free Make plan if your volume is small. I'll walk through the module chain in plain language so you can build them yourself this afternoon.</p>
<p>Quick note before we start: you don't need to be technical. If you can make a spreadsheet with column headers, you can do all of this.</p>
<h2>1. Lead capture: form to Sheet row plus an instant alert</h2>
<p><strong>The problem:</strong> someone fills out your contact form, the notification lands in an inbox you check twice a week, and by the time you reply they've hired someone else.</p>
<p><strong>The Sheet:</strong> one tab called <code>Leads</code> with columns <code>Timestamp</code>, <code>Name</code>, <code>Email</code>, <code>Source</code>, <code>Message</code>, <code>Status</code>.</p>
<p><strong>The module chain:</strong></p>
<ol>
<li><strong>Trigger:</strong> Google Forms "Watch Responses" (or a Webhooks "Custom webhook" if you use Tally, Typeform, or a form on your site).</li>
<li><strong>Google Sheets: Add a Row.</strong> Map each form field to its column. Set <code>Status</code> to <code>New</code> and <code>Timestamp</code> to <code>{{now}}</code>.</li>
<li><strong>Router</strong> with two paths:<ul>
<li><strong>Gmail: Send an Email</strong> to yourself, subject like <code>New lead: {{Name}}</code>, with the message in the body.</li>
<li><strong>Slack: Create a Message</strong> (optional) to a <code>#leads</code> channel if you live in Slack.</li>
</ul>
</li>
</ol>
<p><strong>Why it works:</strong> the Sheet becomes your tiny CRM. Add a filter view on <code>Status = New</code> and you have a to-do list. When you reply, change it to <code>Contacted</code>. That's the whole system, and it beats a CRM you never open.</p>
<p><strong>Tip:</strong> add a <code>Source</code> field to the form (hidden field or a dropdown) so you know which post or page actually brings in leads.</p>
<h2>2. Invoice and payment tracker with an overdue flag</h2>
<p><strong>The problem:</strong> you send invoices from three places, and "did they pay yet?" lives in your head.</p>
<p><strong>The Sheet:</strong> tab <code>Invoices</code> with <code>Invoice #</code>, <code>Client</code>, <code>Email</code>, <code>Amount</code>, <code>Sent Date</code>, <code>Due Date</code>, <code>Paid</code> (checkbox), <code>Status</code>.</p>
<p>Put a formula in <code>Status</code> so the Sheet does the thinking:</p>
<pre><code>=IF(G2, "Paid", IF(TODAY() &gt; F2, "OVERDUE", "Open"))
</code></pre>
<p><strong>The module chain:</strong></p>
<ol>
<li><strong>Trigger:</strong> Schedule, once a day at 9am.</li>
<li><strong>Google Sheets: Search Rows</strong> where <code>Status</code> equals <code>OVERDUE</code>.</li>
<li><strong>Iterator</strong> is built in here, since Search Rows outputs one bundle per row.</li>
<li><strong>Gmail: Create a Draft</strong> to the client: "Hi {{Client}}, just a friendly nudge on invoice {{Invoice #}} for {{Amount}}, which was due {{Due Date}}."</li>
<li><strong>Gmail: Send an Email</strong> to yourself with a summary (use a Text Aggregator before it to list all overdue invoices in one email).</li>
</ol>
<p><strong>Why drafts and not sends:</strong> you'll want to eyeball reminders before they go out, at least for the first month. Once you trust it, swap Create a Draft for Send an Email.</p>
<p><strong>Bonus:</strong> if you take payments through Stripe, add a second scenario that watches for <code>payment_intent.succeeded</code> and ticks the <code>Paid</code> box by searching for the matching invoice number.</p>
<h2>3. Client onboarding: new row to a welcome email draft</h2>
<p><strong>The problem:</strong> a client says yes, and then there's a weird two-day silence while you scramble to send the intake form, the calendar link, and the "here's what happens next" email.</p>
<p><strong>The Sheet:</strong> tab <code>Clients</code> with <code>Name</code>, <code>Email</code>, <code>Package</code>, <code>Start Date</code>, <code>Onboarded</code> (checkbox).</p>
<p><strong>The module chain:</strong></p>
<ol>
<li><strong>Trigger:</strong> Google Sheets "Watch New Rows" on the <code>Clients</code> tab.</li>
<li><strong>Google Docs: Create a Document from a Template</strong> (optional). Use a welcome packet template with <code>{{Name}}</code> and <code>{{Package}}</code> placeholders, saved to a client folder.</li>
<li><strong>Google Drive: Create a Folder</strong> named after the client, and move the doc there.</li>
<li><strong>Gmail: Create a Draft</strong> with the welcome message, your booking link, and the folder link.</li>
<li><strong>Google Sheets: Update a Row</strong> to set <code>Onboarded</code> to true so it never fires twice.</li>
</ol>
<p><strong>Why it works:</strong> adding a row is the only manual step. The client gets a polished welcome in minutes instead of days, and you look far more organized than you feel.</p>
<p><strong>Gotcha:</strong> "Watch New Rows" only sees rows added after the scenario starts, and it reads based on row order. Don't sort the tab, or insert rows in the middle, or it can skip or repeat. Always add to the bottom.</p>
<h2>4. Content calendar reminder at 8am</h2>
<p><strong>The problem:</strong> you planned two weeks of posts in a Sheet, then forgot the Sheet existed.</p>
<p><strong>The Sheet:</strong> tab <code>Content</code> with <code>Publish Date</code>, <code>Platform</code>, <code>Topic</code>, <code>Caption</code>, <code>Link</code>, <code>Posted</code> (checkbox).</p>
<p><strong>The module chain:</strong></p>
<ol>
<li><strong>Trigger:</strong> Schedule, every day at 8:00. Set the scenario's timezone in Make's scenario settings (I use America/Chicago). This is the number one reason reminders show up at 3am.</li>
<li><strong>Google Sheets: Search Rows</strong> where <code>Publish Date</code> equals today and <code>Posted</code> is false. Use <code>{{formatDate(now; "YYYY-MM-DD")}}</code> and make sure the Sheet column is formatted the same way.</li>
<li><strong>Text Aggregator</strong> to bundle everything into one message: platform, topic, caption.</li>
<li><strong>Gmail: Send an Email</strong> (or a Slack or Telegram message) with "Today's posts" and the captions ready to copy.</li>
</ol>
<p><strong>Why it works:</strong> it turns your content plan into a morning nudge with the caption already written. You go from "what should I post?" to copy, paste, done.</p>
<p><strong>Next step if you want it:</strong> for platforms with Make modules (like LinkedIn or Facebook Pages), you can post directly instead of reminding. I'd start with reminders though. Auto-posting a typo to your whole audience is not fun.</p>
<h2>5. Expense and receipt logger from Gmail attachments</h2>
<p><strong>The problem:</strong> receipts arrive by email all year, and in April you search "receipt" and cry.</p>
<p><strong>The Sheet:</strong> tab <code>Expenses</code> with <code>Date</code>, <code>Vendor</code>, <code>Subject</code>, <code>Amount</code>, <code>Category</code>, <code>Receipt Link</code>.</p>
<p><strong>The module chain:</strong></p>
<ol>
<li><strong>Trigger:</strong> Gmail "Watch Emails" with a filter, for example a Gmail label called <code>Receipts</code>. Set up a Gmail filter that auto-labels emails from vendors you pay, or just drag receipts into the label.</li>
<li><strong>Iterator</strong> over the attachments.</li>
<li><strong>Google Drive: Upload a File</strong> to a <code>Receipts/2026</code> folder. Rename it like <code>{{date}}_{{sender}}_{{filename}}</code> so it's searchable.</li>
<li><strong>Google Sheets: Add a Row</strong> with the date, sender, subject, and the Drive file's web link.</li>
<li><strong>Optional:</strong> a Text Parser "Match Pattern" module with a regex like <code>\$\s?([0-9,]+\.[0-9]{2})</code> to pull the dollar amount from the email body. It won't catch everything, but it gets most of them.</li>
</ol>
<p><strong>Why it works:</strong> your accountant gets one Sheet with links to every receipt. Fill in <code>Category</code> once a month while you watch TV.</p>
<h2>Gotchas that will bite you (so they don't)</h2>
<p><strong>Reconnecting Google.</strong> If your Google Cloud app for Make is in "testing" mode, or if you change your Google password, connections can expire and scenarios quietly stop. Check Make's scenario history once a week, and turn on Make's email notifications for errors.</p>
<p><strong>Operations limits on the free plan.</strong> Make counts every module run as an operation, and the free plan gives you a limited monthly allowance. A scenario with 5 modules that runs every 15 minutes burns through that fast, even when nothing happens. Fixes:</p>
<ul>
<li>Use <strong>Schedule</strong> triggers once or twice a day instead of every 15 minutes when real time doesn't matter.</li>
<li>Use <strong>instant triggers</strong> (webhooks) where possible, since they only run when something happens.</li>
<li>Put <strong>filters</strong> early in the chain so empty runs stop at step one.</li>
</ul>
<p><strong>Date formats.</strong> Sheets and Make don't always agree on dates. Format your date columns as plain <code>YYYY-MM-DD</code> and compare with <code>formatDate()</code> in Make. It saves you an hour of confusion.</p>
<p><strong>Test with yourself first.</strong> Use your own email as the "client" until each scenario behaves. Drafts are your friend.</p>
<h2>Want the shortcut?</h2>
<p><em>Disclosure: I made and sell the kit below, so weigh my opinion accordingly.</em></p>
<p>Everything above is buildable for free, and I'd honestly encourage you to build at least one yourself so you understand how it works. But if you'd rather import than build, I packaged all five as <strong>Ops Kit</strong>: the Make blueprints plus matching Google Sheet templates with the columns and formulas already set up. You import, reconnect your Google account, and run.</p>
<p>It's $39, and this week the code <strong>FIRST10</strong> takes $10 off, so it's $29: <a href="https://simplypearlnicole-ops-kit.netlify.app/?ref=hashnode">https://simplypearlnicole-ops-kit.netlify.app/?ref=hashnode</a></p>
<p>Either way, steal these. And if you build a sixth one I should know about, tell me in the comments.</p>
]]></content:encoded></item></channel></rss>