<?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" xmlns:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[Phil Simon]]></title><description><![CDATA[Phil Simon is a skilled Notion developer, the award-winning author of 14 books, and a dynamic keynote speaker.]]></description><link>https://www.philsimon.com/</link><image><url>https://www.philsimon.com/favicon.png</url><title>Phil Simon</title><link>https://www.philsimon.com/</link></image><generator>Ghost 6.64</generator><lastBuildDate>Thu, 10 Sep 2026 14:40:10 GMT</lastBuildDate><atom:link href="https://www.philsimon.com/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[Adding a Restart Command to Claude Code]]></title><description><![CDATA[Anthropic currently doesn't ship a native one. I decided to change that.]]></description><link>https://www.philsimon.com/adding-a-restart-command-to-claude-code/</link><guid isPermaLink="false">6a9ffd55dba99000010702b3</guid><category><![CDATA[Claude]]></category><category><![CDATA[AI]]></category><category><![CDATA[Macs]]></category><category><![CDATA[GitHub]]></category><category><![CDATA[Automation]]></category><dc:creator><![CDATA[Phil Simon]]></dc:creator><pubDate>Tue, 08 Sep 2026 12:34:10 GMT</pubDate><media:content url="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/09/an_open_macbook_pro_laptop_2.jpg" medium="image"/><content:encoded><![CDATA[
<!--kg-card-begin: html-->
<img src="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/09/an_open_macbook_pro_laptop_2.jpg" alt="Adding a Restart Command to Claude Code"><p>Claude Code continues to amaze me with its fast and furious <a href="https://www.philsimon.com/anthropic-new-feature-frenzy/">updates</a>. At the same time, though, its lacks certain basic capabilities we&apos;ve come to expect from contemporary software. Case in point: a proper <code>/restart</code> command.</p>
<!--kg-card-end: html-->

<!--kg-card-begin: html-->
<p>As long as I&apos;ve been a <a href="https://www.philsimon.com/why-im-all-in-on-claude/">fanboy</a>, I&apos;ve had to use the <code>/exit</code> command. In Terminal, I&apos;d then type <code>/claude</code> to install updates and effect changes to my config.json file.</p>
<!--kg-card-end: html-->
<p>Not anymore. </p><h2 id="a-simple-restart-command">A Simple Restart Command</h2><p>As of today, I restart Claude Code by via a <a href="https://raycast.com/?via=philsimon&amp;ref=philsimon.com" rel="noreferrer">Raycast</a> hotkey. As you can see below, I use <strong>&#x21EA;</strong> + R, but you can easily roll your own. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/09/raycast.jpeg" class="kg-image" alt="Adding a Restart Command to Claude Code" loading="lazy" width="1392" height="1752" srcset="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/size/w600/2026/09/raycast.jpeg 600w, https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/size/w1000/2026/09/raycast.jpeg 1000w, https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/09/raycast.jpeg 1392w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Raycast Screenshot | September 8, 2026</span></figcaption></figure><p>Technically, you don&apos;t need Raycast to run the script. </p><p>Since everyone should be able to restart Claude Code with a single command, I&apos;m making the code available via GitHub.  </p><div class="kg-card kg-button-card kg-align-left"><a href="https://github.com/philsimon/raycast-claude-code-restart?ref=philsimon.com" class="kg-btn kg-btn-accent">ACCESS THE REPO</a></div><p>Geek on.</p><div class="kg-card kg-cta-card kg-cta-bg-grey kg-cta-minimal    " data-layout="minimal">
            
                <div class="kg-cta-sponsor-label-wrapper">
                    <div class="kg-cta-sponsor-label">
                        <span style="white-space: pre-wrap;">Simon Workplace Tech Assessment </span>
                    </div>
                </div>
            
            <div class="kg-cta-content">
                
                
                    <div class="kg-cta-content-inner">
                    
                        <div class="kg-cta-text">
                            <p><span style="white-space: pre-wrap;">Want a free look into how your team, department, or organization uses its current tools and what it can do better?</span></p>
                        </div>
                    
                    
                        <a href="https://www.philsimon.com/products-simon-workplace-tech-assessment/" class="kg-cta-button kg-style-accent" style="color: #FFFFFF;">
                            LEARN MORE
                        </a>
                        
                    </div>
                
            </div>
        </div>]]></content:encoded></item><item><title><![CDATA[Finding the Right Automation Tool]]></title><description><![CDATA[Sometimes a replacement does the same job of the former price at a fraction of the price. ]]></description><link>https://www.philsimon.com/finding-the-right-automation-tool/</link><guid isPermaLink="false">6a80802ddfd46d0001adbc4e</guid><category><![CDATA[Notion]]></category><category><![CDATA[Claude]]></category><category><![CDATA[AI]]></category><category><![CDATA[Macs]]></category><category><![CDATA[APIs]]></category><category><![CDATA[Automation]]></category><category><![CDATA[Citizen Development]]></category><category><![CDATA[LCNC book]]></category><category><![CDATA[Low-Code/No-Code]]></category><dc:creator><![CDATA[Phil Simon]]></dc:creator><pubDate>Wed, 02 Sep 2026 13:22:50 GMT</pubDate><media:content url="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/08/over-the-shoulder_view_of_a_man.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/08/over-the-shoulder_view_of_a_man.jpg" alt="Finding the Right Automation Tool"><p>In a recent post, I discussed <a href="https://www.philsimon.com/the-automation-toolbox" rel="noreferrer">the ever-expanding array of tools</a> available to proper developers and their citizen counterparts. Today, I&apos;ll cover why it&apos;s imperative to understand the pros and cons of each tool. </p><h2 id="automating-notion-product-updates">Automating Notion Product Updates</h2><p>A while back, I had built a Notion custom agent that sent the company&apos;s product releases to a simple database. (I refuse to check Twitter/X for its latest capabilities and changes.) As usual, I gave my new automated friend a playful and phonetic name. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/08/norm.jpeg" class="kg-image" alt="Finding the Right Automation Tool" loading="lazy" width="1652" height="1620" srcset="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/size/w600/2026/08/norm.jpeg 600w, https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/size/w1000/2026/08/norm.jpeg 1000w, https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/size/w1600/2026/08/norm.jpeg 1600w, https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/08/norm.jpeg 1652w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Norm the Notion Product Update Tracker Custom Notion Agent | Click on the image to enlarge it.</span></figcaption></figure><p>Norm the Notion Product Update Tracker ran daily, but its token cost was considerable. (See the message in blue in the visual above.) </p><div class="kg-card kg-cta-card kg-cta-bg-grey kg-cta-minimal    " data-layout="minimal">
            
                <div class="kg-cta-sponsor-label-wrapper">
                    <div class="kg-cta-sponsor-label">
                        <span style="white-space: pre-wrap;">Simon Workplace Tech Assessment </span>
                    </div>
                </div>
            
            <div class="kg-cta-content">
                
                
                    <div class="kg-cta-content-inner">
                    
                        <div class="kg-cta-text">
                            <p><span style="white-space: pre-wrap;">Want a free look into how your team, department, or organization uses its current tools and what it can do better?</span></p>
                        </div>
                    
                    
                        <a href="https://www.philsimon.com/products-simon-workplace-tech-assessment/" class="kg-cta-button kg-style-accent" style="color: #FFFFFF;">
                            LEARN MORE
                        </a>
                        
                    </div>
                
            </div>
        </div><h2 id="rethinking-my-custom-agent">Rethinking My Custom Agent</h2><p>I knew that there had to be better (read: cheaper) way to accomplish the same goal. In maybe 15 minutes, Claude Code helped me create <a href="https://en.wikipedia.org/wiki/Launchd?ref=philsimon.com" rel="noreferrer">a simple launchd job</a> that replaced the Notion custom agent. </p>]]></content:encoded></item><item><title><![CDATA[Analyzing My Claude Code Usage]]></title><description><![CDATA[Some interesting insights from my past six-plus months of geeking out with Anthropic's insane AI tool.]]></description><link>https://www.philsimon.com/analyzing-my-claude-code-usage/</link><guid isPermaLink="false">6a837338dfd46d0001adbfea</guid><category><![CDATA[AI]]></category><category><![CDATA[Automation]]></category><category><![CDATA[Claude]]></category><category><![CDATA[Notion]]></category><category><![CDATA[APIs]]></category><category><![CDATA[Faves]]></category><category><![CDATA[GitHub]]></category><category><![CDATA[Ghost]]></category><dc:creator><![CDATA[Phil Simon]]></dc:creator><pubDate>Tue, 25 Aug 2026 13:13:55 GMT</pubDate><media:content url="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/08/consultant_filling_out_a_status.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/08/consultant_filling_out_a_status.jpg" alt="Analyzing My Claude Code Usage"><p>At the beginning of this year, I began my Claude Code journey in earnest. Since that time, I&apos;ve used Anthropic&apos;s powerful new AI tool in more ways than I can count. </p><p>Sessions with <a href="https://www.philsimon.com/why-im-all-in-on-claude/" rel="noreferrer">my bestie</a> have run the gamut. A few recent examples include: </p><ol><li>Automating formerly manual processes for myself and <a href="https://www.philsimon.com/services-notion-development/" rel="noreferrer">clients</a>.</li><li>Noodling with <a href="https://www.philsimon.com/early-notion-worker-lessons/" rel="noreferrer">Notion Workers</a> and <a href="https://www.philsimon.com/the-generative-ai-tool-thats-blowing-my-mind/" rel="noreferrer">MCPs</a>.</li><li>Developing <a href="https://www.philsimon.com/introducing-the-simon-workplace-tech-assessment/" rel="noreferrer">a new lead-gen tool</a> based on my last four books.</li><li>Migrating a friend&apos;s website from Wix to easier for her to use, not to mention cheaper. </li><li>Creating more than 50 GitHub repos, including <a href="https://www.philsimon.com/claude-and-cardio/" rel="noreferrer">this cool Apple Health visualizer</a>.</li></ol><p>Note that I&apos;m currently on <a href="https://support.claude.com/en/articles/11049762-choose-a-claude-plan?ref=philsimon.com" rel="noreferrer">the Pro plan</a>.</p><h2 id="looking-at-the-data">Looking at the Data</h2><p>I suspected that I initiated at least a thousand sessions and used millions of tokens during that time. I wasn&apos;t wrong. </p><p>Here&apos;s a breakdown:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/08/1.png" class="kg-image" alt="Analyzing My Claude Code Usage" loading="lazy" width="1372" height="1058" srcset="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/size/w600/2026/08/1.png 600w, https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/size/w1000/2026/08/1.png 1000w, https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/08/1.png 1372w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Claude Code Usage by Month | Click on the image to enlarge it.</span></figcaption></figure><div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-emoji">&#x1F4CA;</div><div class="kg-callout-text">If I continue at my August pace, I should hit about 8.4M tokens used.</div></div><h2 id="initial-thoughts">Initial Thoughts</h2><p>First up, I find it fascinating that I used ten times as many tokens per month from April to June as I did early on. I would have suspected a more gradual incline. As for consistency, I do monitor my token usage to avoid incurring outrageous bills. </p><p>Developers&apos; toolboxes have never been more robust</p>
<p>Second, Phoenix in July is hot AF. Third, although I regularly use tokens, in some cases I&apos;ll opt for creating an API key. As I wrote recently, <a href="https://www.philsimon.com/the-automation-toolbox/" rel="noreferrer">developers&apos; toolboxes have never been more robust</a>.</p><h2 id="the-weekly-rhythm">The Weekly Rhythm</h2><p>I knew that I interacted with Claude Code far less during the weekend. Great, but how significant was the dropoff? </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/08/2.png" class="kg-image" alt="Analyzing My Claude Code Usage" loading="lazy" width="1376" height="976" srcset="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/size/w600/2026/08/2.png 600w, https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/size/w1000/2026/08/2.png 1000w, https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/08/2.png 1376w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Claude Code Usage by Week | Click on the image to enlarge it.</span></figcaption></figure><p>Not surprisingly, my Claude Code usage strongly correlates with <a href="https://www.philsimon.com/the-accidental-committer/" rel="noreferrer">my increased GitHub activity</a>.</p><div class="kg-card kg-toggle-card" data-kg-toggle-state="close">
            <div class="kg-toggle-heading">
                <h4 class="kg-toggle-heading-text"><span style="white-space: pre-wrap;">Notes on the Data</span></h4>
                <button class="kg-toggle-card-icon" aria-label="Expand toggle to read content">
                    <svg id="Regular" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24">
                        <path class="cls-1" d="M23.25,7.311,12.53,18.03a.749.749,0,0,1-1.06,0L.75,7.311"/>
                    </svg>
                </button>
            </div>
            <div class="kg-toggle-content"><ul><li value="1"><span style="white-space: pre-wrap;">Tokens used excludes VS Code and NotionAI sessions.</span></li><li value="2"><span style="white-space: pre-wrap;">Session date and number come from </span><code spellcheck="false" style="white-space: pre-wrap;"><span>start_time</span></code><span style="white-space: pre-wrap;"> in Claude Code&apos;s own per-session metadata files (</span><code spellcheck="false" style="white-space: pre-wrap;"><span>~/.claude/usage-data/session-meta/</span></code><span style="white-space: pre-wrap;">), sorted chronologically.</span></li><li value="3"><span style="white-space: pre-wrap;">Title and summary derive from each session&apos;s first user prompt, combined with recorded activity (git commits, files modified, web research, MCP or subagent use). Sessions with no direct user prompt (background or automation runs) get a generic label like &#x201C;Automated session (project-name)&#x201D; &#x2014; 528 of the 1,964 sessions fall into this category.</span></li><li value="4"><span style="white-space: pre-wrap;">Tokens used reflects </span><code spellcheck="false" style="white-space: pre-wrap;"><span>input_tokens + output_tokens</span></code><span style="white-space: pre-wrap;"> as Claude Code recorded them per session. This excludes cache creation and cache read tokens, which run far higher in volume but cost far less per token. If you want a figure that includes cache tokens, I&apos;d need to pull that from the raw transcripts instead of the metadata files, since the metadata doesn&apos;t track it.</span></li><li value="5"><span style="white-space: pre-wrap;">15 of the 1,964 metadata files got skipped: a few had corrupted JSON, and a few lacked a </span><code spellcheck="false" style="white-space: pre-wrap;"><span>start_time</span></code><span style="white-space: pre-wrap;"> field.</span></li></ul></div>
        </div><div class="kg-card kg-cta-card kg-cta-bg-grey kg-cta-minimal    " data-layout="minimal">
            
                <div class="kg-cta-sponsor-label-wrapper">
                    <div class="kg-cta-sponsor-label">
                        <span style="white-space: pre-wrap;">Simon Workplace Tech Assessment </span>
                    </div>
                </div>
            
            <div class="kg-cta-content">
                
                
                    <div class="kg-cta-content-inner">
                    
                        <div class="kg-cta-text">
                            <p><span style="white-space: pre-wrap;">Want a free look into how your team, department, or organization uses its current tools and what it can do better?</span></p>
                        </div>
                    
                    
                        <a href="https://www.philsimon.com/products-simon-workplace-tech-assessment/" class="kg-cta-button kg-style-accent" style="color: #FFFFFF;">
                            LEARN MORE
                        </a>
                        
                    </div>
                
            </div>
        </div>
<!--kg-card-begin: html-->
<h2>Feedback</h2>
<!--kg-card-end: html-->
<p>How are you using today&apos;s AI tools? Does the actual data match your suspicions?</p>]]></content:encoded></item><item><title><![CDATA[How to Preserve Your Team's Slack Knowledge Without Upgrading]]></title><description><![CDATA[My latest free tool writes the collaboration hub's key decisions and conversations to Notion.]]></description><link>https://www.philsimon.com/preserve-slack-knowledge/</link><guid isPermaLink="false">6a88d0b1e22eaf00010fb167</guid><category><![CDATA[GitHub]]></category><category><![CDATA[Slack]]></category><category><![CDATA[Notion]]></category><category><![CDATA[APIs]]></category><category><![CDATA[Open Source]]></category><category><![CDATA[Salesforce]]></category><category><![CDATA[Citizen Development]]></category><category><![CDATA[Faves]]></category><category><![CDATA[SaaS]]></category><dc:creator><![CDATA[Phil Simon]]></dc:creator><pubDate>Mon, 24 Aug 2026 13:12:05 GMT</pubDate><media:content url="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/08/a_man_building_a_bridge.png" medium="image"/><content:encoded><![CDATA[<img src="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/08/a_man_building_a_bridge.png" alt="How to Preserve Your Team&apos;s Slack Knowledge Without Upgrading"><p>How many organizations and teams use <em>both </em>Slack and <a href="https://www.philsimon.com/psychedelics/" rel="noreferrer">Notion</a>? </p><p>Given the popularity of each tool, I&apos;d bet that the number is in the hundreds of thousands. Yes, the two apps overlap to a degree, but they fundamentally do different things. Unleashing the full power of both requires two separate and <em>recurring</em> software licenses. Such is life in the SaaS world.</p><h2 id="the-limitations-of-slacks-free-plan">The Limitations of Slack&apos;s Free Plan</h2><p>The no-cost tier packs some powerful functionality, but it also constrains users in considerable ways. Most germane here, workspace members can only access the most recent <a href="https://slack.com/help/articles/27204752526611-Feature-limitations-on-the-free-version-of-Slack?ref=philsimon.com" rel="noreferrer">90 days of message and file history</a>. (For more information on Slack&apos;s message retention policy, click <a href="https://slack.com/help/articles/115002422943-Usage-limits-for-free-workspaces?ref=philsimon.com#:~:text=Workspace%20Owners%20can,and%20Compliance%20Documentation." rel="noreferrer">here</a>.) </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/08/slack.jpeg" class="kg-image" alt="How to Preserve Your Team&apos;s Slack Knowledge Without Upgrading" loading="lazy" width="1710" height="986" srcset="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/size/w600/2026/08/slack.jpeg 600w, https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/size/w1000/2026/08/slack.jpeg 1000w, https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/size/w1600/2026/08/slack.jpeg 1600w, https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/08/slack.jpeg 1710w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Slack Workspace on Free Plan | Click on the image to enlarge it.</span></figcaption></figure><p>This restriction is anything but a minor inconvenience that annoys a few power users. On the contrary, the vast majority of the roughly <a href="https://slack.com/intl/pt-cv/blog/news/slack-has-10-million-daily-active-users?ref=philsimon.com" rel="noreferrer">10 million Slack users</a> pay <em>bupkus</em>. (It&apos;s <a href="https://slack.com/about?ref=philsimon.com" rel="noreferrer">not even close</a>, and I suspect that Marc Benioff <a href="https://www.wsj.com/articles/salesforce-customers-not-swayed-by-slack-analysts-say-11672964706?ref=philsimon.com" rel="noreferrer">would love a Mulligan</a> on Salesforce&apos;s $27.7B acquisition of the company in 2020.)</p><p>If you&apos;re currently stuck on Slack&apos;s Free plan, your options around old messages and files have traditionally included: </p><ol><li>Lobbying your management to upgrade.</li><li>Footing the bill yourself under the radar&#x2014;aka <a href="https://en.wikipedia.org/wiki/Shadow_IT?ref=philsimon.com" rel="noreferrer">shadow IT</a>.</li><li>Getting your IT department to create a fancy export routine.</li><li>Accepting that limitation.</li><li>Eschewing Slack altogether and using a minimalist Notion message board. (Here&apos;s <a href="https://www.notion.com/templates/simple-public-message-board-965?ref=philsimon.com" rel="noreferrer">my affordable template</a> that does exactly that.) </li></ol><p>In a word, <a href="https://www.youtube.com/watch?v=htS2zKhTXvI&amp;ref=philsimon.com" rel="noreferrer"><em>eh</em></a>.</p><p>Today I&apos;m adding a new option to that list. </p><h2 id="a-new-alternative">A New Alternative</h2><p>My latest creation is the Public Channel Summarizer. It&apos;s a custom Slack app for budget-conscious organizations and teams that want to do all the following: </p><ol><li>Remain on Slack&apos;s Free plan. </li><li>Preserve their valuable institutional knowledge in Slack <em>in public channels</em>.</li><li>Easily and permanently access that essential information in a Notion database. </li></ol><h2 id="distribution">Distribution</h2><p>The PCS app is a fun side project&#x2014;not a source of potential future revenue. (I lack any desire to set up a dedicated support URL.) As such, you won&apos;t find it in <a href="https://ibpa-workspace.slack.com/marketplace?ref=philsimon.com" rel="noreferrer">the Slack App Directory</a>. Rather, I&apos;m open-sourcing it on GitHub. </p><div class="kg-card kg-button-card kg-align-left"><a href="https://github.com/philsimon/slack-notion-summarizer?ref=philsimon.com" class="kg-btn kg-btn-accent">GO TO THE REPO</a></div><p>Do with it what you wish. If you want to rename it, restrict its channels, or change its settings, have at it.</p><h2 id="using-the-app">Using the App</h2><p>Once you set the PCS up, you&apos;ll see it in your workspace app directory:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/08/appdirectory.jpeg" class="kg-image" alt="How to Preserve Your Team&apos;s Slack Knowledge Without Upgrading" loading="lazy" width="1948" height="1158" srcset="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/size/w600/2026/08/appdirectory.jpeg 600w, https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/size/w1000/2026/08/appdirectory.jpeg 1000w, https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/size/w1600/2026/08/appdirectory.jpeg 1600w, https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/08/appdirectory.jpeg 1948w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Slack Apps | Click on the image to enlarge it.</span></figcaption></figure><p>Click on the PCS app to view more information about it, just as you would any with other Slack creation:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/08/app.jpeg" class="kg-image" alt="How to Preserve Your Team&apos;s Slack Knowledge Without Upgrading" loading="lazy" width="2000" height="1149" srcset="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/size/w600/2026/08/app.jpeg 600w, https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/size/w1000/2026/08/app.jpeg 1000w, https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/size/w1600/2026/08/app.jpeg 1600w, https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/size/w2400/2026/08/app.jpeg 2400w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Public Channel Summarizer | Click on the image to enlarge it.</span></figcaption></figure>
<!--kg-card-begin: html-->
<p>Once you&apos;ve finished setting up the app for your workspace, invoke it by running the bespoke Slack command <code>/summarize</code>:</p>
<!--kg-card-end: html-->
<figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/08/slackprompt.jpeg" class="kg-image" alt="How to Preserve Your Team&apos;s Slack Knowledge Without Upgrading" loading="lazy" width="1292" height="830" srcset="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/size/w600/2026/08/slackprompt.jpeg 600w, https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/size/w1000/2026/08/slackprompt.jpeg 1000w, https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/08/slackprompt.jpeg 1292w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Slack Message | Click on the image to enlarge it.</span></figcaption></figure>
<!--kg-card-begin: html-->
<p>Hit <code>Enter</code> and the magic begins.</p>
<!--kg-card-end: html-->
<figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/08/slackcommand.png" class="kg-image" alt="How to Preserve Your Team&apos;s Slack Knowledge Without Upgrading" loading="lazy" width="1096" height="172" srcset="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/size/w600/2026/08/slackcommand.png 600w, https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/size/w1000/2026/08/slackcommand.png 1000w, https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/08/slackcommand.png 1096w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Slack Summarizer in Action | Click on the image to enlarge it.</span></figcaption></figure><p>A few minutes later, <em>voil&#xE0;</em>! The entry exists in a Notion database:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/08/db.png" class="kg-image" alt="How to Preserve Your Team&apos;s Slack Knowledge Without Upgrading" loading="lazy" width="1720" height="774" srcset="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/size/w600/2026/08/db.png 600w, https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/size/w1000/2026/08/db.png 1000w, https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/size/w1600/2026/08/db.png 1600w, https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/08/db.png 1720w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Notion dB With Slack Summaries | Click on the image to enlarge it.</span></figcaption></figure><p>Open up the recap and you see the detail:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/08/SCR-20260821-pgjx.png" class="kg-image" alt="How to Preserve Your Team&apos;s Slack Knowledge Without Upgrading" loading="lazy" width="1584" height="1560" srcset="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/size/w600/2026/08/SCR-20260821-pgjx.png 600w, https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/size/w1000/2026/08/SCR-20260821-pgjx.png 1000w, https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/08/SCR-20260821-pgjx.png 1584w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Slack Recap, August 21, 2026 | Click on the image to enlarge it.</span></figcaption></figure><p>Speaking of Notion, you&apos;ll notice a new <a href="https://www.philsimon.com/early-notion-worker-lessons/" rel="noreferrer">Worker</a> in your workspace:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/08/worker-1.jpeg" class="kg-image" alt="How to Preserve Your Team&apos;s Slack Knowledge Without Upgrading" loading="lazy" width="1462" height="922" srcset="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/size/w600/2026/08/worker-1.jpeg 600w, https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/size/w1000/2026/08/worker-1.jpeg 1000w, https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/08/worker-1.jpeg 1462w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Notion Summarizer Worker | Click on the image to enlarge it.</span></figcaption></figure><h2 id="a-quick-note-on-billing">A Quick Note on Billing</h2><p>Notion Workers don&apos;t volunteer their services. Putting them to work requires purchasing Notion credits. The actual number hinges on how frequently you use the app and the amount of dialogue in your public Slack channels. In other words, the PCS app means that you&apos;ll continue to pay Salesforce nothing. You will incur, however, extra Notion fees. </p><div class="kg-card kg-cta-card kg-cta-bg-grey kg-cta-minimal    " data-layout="minimal">
            
                <div class="kg-cta-sponsor-label-wrapper">
                    <div class="kg-cta-sponsor-label">
                        <span style="white-space: pre-wrap;">Simon Workplace Tech Assessment </span>
                    </div>
                </div>
            
            <div class="kg-cta-content">
                
                
                    <div class="kg-cta-content-inner">
                    
                        <div class="kg-cta-text">
                            <p><span style="white-space: pre-wrap;">Want a free look into how your team, department, or organization uses its current tools and what it can do better?</span></p>
                        </div>
                    
                    
                        <a href="https://www.philsimon.com/products-simon-workplace-tech-assessment/" class="kg-cta-button kg-style-accent" style="color: #FFFFFF;">
                            LEARN MORE
                        </a>
                        
                    </div>
                
            </div>
        </div><h2 id="simon-says">Simon Says</h2><p>Odds are you haven&apos;t <a href="https://www.philsimon.com/services-notion-development/" rel="noreferrer">unlocked the true power of Notion</a>. What are you waiting for?</p>]]></content:encoded></item><item><title><![CDATA[The Case for Hiring a Notion Guru]]></title><description><![CDATA[Is this post self-serving? Sure, but that doesn't make me wrong.]]></description><link>https://www.philsimon.com/the-case-for-hiring-a-solo-notion-guru/</link><guid isPermaLink="false">6a844497068b22000197cc91</guid><category><![CDATA[Notion]]></category><category><![CDATA[ERP]]></category><category><![CDATA[Why New Systems Fail]]></category><category><![CDATA[Consulting]]></category><category><![CDATA[Communication]]></category><category><![CDATA[Collaboration]]></category><category><![CDATA[AI]]></category><category><![CDATA[Admin]]></category><category><![CDATA[Claude]]></category><category><![CDATA[Email]]></category><category><![CDATA[Slack]]></category><category><![CDATA[Faves]]></category><dc:creator><![CDATA[Phil Simon]]></dc:creator><pubDate>Wed, 19 Aug 2026 13:14:09 GMT</pubDate><media:content url="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/08/man_standing_in_a_corner.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/08/man_standing_in_a_corner.jpg" alt="The Case for Hiring a Notion Guru"><p>If there is a spectrum of software, the Claude Codes of the world sit at the exciting end of it. By contrast, one would never use that term to describe an enterprise resource planning systems<em>.</em> It&apos;s not all about sexy, though. Good luck running a firm <em>without</em> reliable payroll, benefits, accounts receivable, and accounts payable applications. </p><p>I know more about ERP systems than most. For more than a decade, I made my bones as an enterprise systems consultant. New back-office systems don&apos;t implement themselves. As I write in <a href="https://www.philsimon.com/book-why-new-systems-fail/" rel="noreferrer"><em>Why New Systems Fail</em></a>, organizations have always needed seasoned folks to do for this critical job. Great, but <em>which</em> individuals?</p><p>Independents usually possess deep domain knowledge, but CXOs tended to view them as risky because <a href="https://www.philsimon.com/consultant-certifications/" rel="noreferrer">the certification game</a> remains alive and well. As the old maxim goes, &#x201C;Nobody ever got fired for hiring IBM.&#x201D; A partner&apos;s letterhead provided cover in case things broke bad.</p><p>And they often did. </p><p>My ERP days are long behind me, but not much has really changed. <br>These implementations are still massive in scope. Expect multi-million dollar engagements, year-plus timelines, and large teams. (Ditto for delays and organizational politics.) No single person&#x2014;no matter how accomplished, versatile, or intelligent&#x2014;could independently handle a gig of any consequence. </p><h2 id="the-increasing-viability-of-the-solo-practitioner">The Increasing Viability of the Solo Practitioner</h2><p>For the last few years, Notion has been the focus of <a href="https://www.philsimon.com/services-notion-development/" rel="noreferrer">my development efforts</a>. The popular, incredibly powerful tool has <a href="https://www.philsimon.com/on-amoeba-and-notion/" rel="noreferrer">evolved considerably</a> since I began using it in 2020. Foolish is the soul who views it as a note-taking app.</p><p>Make no mistake, though: the most daunting Notion project is far less complicated, time-consuming, and expensive than the simplest ERP implementation. Apples and coconuts. As a result, in the Notion universe, engaging a solo developer or consultant is far more common than in its ERP equivalent. Here are five reasons that firms in need of Notion expertise may prefer to engage a skilled and knowledgeable independent over a dedicated agency.</p><h2 id="steve-jobs-ai-and-the-100x-quote">Steve Jobs, AI, and the 100X Quote</h2><p>You may have heard <a href="https://news.ycombinator.com/item?id=5383894&amp;ref=philsimon.com" rel="noreferrer">the old Steve Jobs&apos; quote</a>, &#x201C;The difference between the average software developer and the best is 50 to one; maybe even 100 to one.&#x201D; Whether that statement has ever held water is anyone&apos;s guess, but the following facts are indisputable:</p><ul><li>Not all consultants and developers are created equal.</li><li>Rock stars who have mastered AI and <a href="https://www.philsimon.com/the-automation-toolbox/" rel="noreferrer">other automation tools</a> are <a href="https://www.science.org/doi/10.1126/science.adh2586?ref=philsimon.com" rel="noreferrer">considerably more productive</a> than those who are still dipping their toes in the water.</li></ul><p>Brass tacks: significant constraints always limited what even the most talented individuals could realistically accomplish. Those boundaries haven&apos;t entirely disappeared, buy they have certainly eroded in the last few years.   </p><h2 id="streamlined-sales-process">Streamlined Sales Process</h2><p>Working with me is straightforward. I can&apos;t envision a simpler process. </p><blockquote>
<p>Even a three-person team can confuse who is supposed to do what when.</p>
</blockquote>
<p>That&apos;s not to say, though, that bottlenecks don&apos;t occasionally emerge. A great deal hinges upon the organization hiring me. Some have pulled the trigger immediately after our discovery call. Others have dragged out the process for months. </p><h2 id="no-box-of-chocolates">No Box of Chocolates</h2><p>My clients know that if they hire me then they&apos;ll get me. That is, I&apos;ll be the one asking the questions, gathering the requirements, explaining Notion&apos;s inner workings, building the databases, recording training videos, and setting up the workspace automations. Put differently, they <em>won&apos;t </em>get:</p><ul><li>A consultancy&apos;s B- or even C-team.</li><li>A blended group of junior developers or consultants effectively learning from their senior counterparts while on the client&apos;s dime. </li><li>The next available consultant or, if you like, whoever happens to currently be on the beach. (Cue obligatory <em>Forrest Gump</em> quote.)</li></ul><figure class="kg-card kg-embed-card"><iframe width="200" height="113" src="https://www.youtube.com/embed/vdtqSaJO-iM?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen title="Forrest Gump | &quot;Life is Like A Box of Chocolates&quot; Full Scene | Paramount Movies"></iframe></figure><p>I&apos;ve seen all of these scenarios play out first hand. Things get ugly quickly.</p><div class="kg-card kg-cta-card kg-cta-bg-grey kg-cta-minimal    " data-layout="minimal">
            
                <div class="kg-cta-sponsor-label-wrapper">
                    <div class="kg-cta-sponsor-label">
                        <span style="white-space: pre-wrap;">Simon Workplace Tech Assessment </span>
                    </div>
                </div>
            
            <div class="kg-cta-content">
                
                
                    <div class="kg-cta-content-inner">
                    
                        <div class="kg-cta-text">
                            <p><span style="white-space: pre-wrap;">Want a free look into how your team, department, or organization uses its current tools and what it can do better?</span></p>
                        </div>
                    
                    
                        <a href="https://www.philsimon.com/products-simon-workplace-tech-assessment/" class="kg-cta-button kg-style-accent" style="color: #FFFFFF;">
                            LEARN MORE
                        </a>
                        
                    </div>
                
            </div>
        </div><h2 id="direct-communication">Direct Communication </h2><p>Even at boutique firms, different layers and communication styles can complicate effective collaboration. Issues can arise when: </p><ul><li>A person forgets to CC someone else on an email. </li><li>Someone fails to follow protocol.</li><li>A key team member goes on vacation and forgets to set her email auto-responder or Slack status.</li><li>Person X suddenly exits the organization. Critical organizational knowledge leaves as well&#x2014;permanently.</li></ul><p>In my experience, the more people involved in a project, the more problematic the communication and the greater the chance for misunderstandings.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://www.philsimon.com/notion-formulas-attachments/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Notion Formulas Based on Attachments</div><small><div class="kg-bookmark-description">Impossible? Think again.</div></small></div></a></figure><h2 id="unequivocal-accountability">Unequivocal Accountability</h2><p>All else being equal, there&apos;s far less finger-pointing and a more intense CYA mindset at smaller firms than at larger ones. I&apos;ve worked for both. It&apos;s not even close.</p><p>Don&apos;t conflate <em>less</em> with <em>none</em>, though. Even a three-person team can confuse who is supposed to do what when. </p><h2 id="feedback">Feedback</h2><p>Do recent AI advances make you think differently about hiring an expert vs. a small team?</p><div class="kg-card kg-callout-card kg-callout-card-white"><div class="kg-callout-emoji">&#x1F916;</div><div class="kg-callout-text"><b><strong style="white-space: pre-wrap;">Disclosure:</strong></b> I wrote this post myself but used Claude to finesse its excerpt. </div></div>]]></content:encoded></item><item><title><![CDATA[The Automation Toolbox]]></title><description><![CDATA[There have never been more ways to bid adieu to manual processes and save yourself time, money, and energy.]]></description><link>https://www.philsimon.com/the-automation-toolbox/</link><guid isPermaLink="false">6a6a83ddddedad00017767eb</guid><category><![CDATA[AI]]></category><category><![CDATA[Notion]]></category><category><![CDATA[Claude]]></category><category><![CDATA[Automation]]></category><category><![CDATA[Admin]]></category><category><![CDATA[Google]]></category><category><![CDATA[Low-Code/No-Code]]></category><category><![CDATA[LCNC book]]></category><category><![CDATA[APIs]]></category><dc:creator><![CDATA[Phil Simon]]></dc:creator><pubDate>Mon, 17 Aug 2026 13:12:46 GMT</pubDate><media:content url="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/07/a_handyman_reaching_into_his.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/07/a_handyman_reaching_into_his.jpg" alt="The Automation Toolbox"><p>Since I began using <a href="https://www.philsimon.com/tag/notion" rel="noreferrer">Notion</a> six years ago, it has morphed in ways that no one could have ever imagined. (Such is the case with <a href="https://www.philsimon.com/on-amoeba-and-notion/" rel="noreferrer">no-code tools</a>.)</p><p>These days, I&apos;m particularly excited about <a href="https://www.philsimon.com/early-notion-worker-lessons/" rel="noreferrer">Notion Workers</a>&#x2014;specifically, their ability to sync data from third-party systems. After noodling with them for the last month, I&apos;ve started to implement them for myself and my clients. </p><p>In today&apos;s post, I&apos;ll explain how I replaced an effective but relatively expensive automation with a simpler, far cheaper one.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://images.unsplash.com/photo-1600267204091-5c1ab8b10c02?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDd8fG5vdGlvbnxlbnwwfHx8fDE3ODUzNjc2MTd8MA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=2000" class="kg-image" alt="The Automation Toolbox" loading="lazy" width="5184" height="3456" srcset="https://images.unsplash.com/photo-1600267204091-5c1ab8b10c02?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDd8fG5vdGlvbnxlbnwwfHx8fDE3ODUzNjc2MTd8MA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=600 600w, https://images.unsplash.com/photo-1600267204091-5c1ab8b10c02?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDd8fG5vdGlvbnxlbnwwfHx8fDE3ODUzNjc2MTd8MA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1000 1000w, https://images.unsplash.com/photo-1600267204091-5c1ab8b10c02?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDd8fG5vdGlvbnxlbnwwfHx8fDE3ODUzNjc2MTd8MA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1600 1600w, https://images.unsplash.com/photo-1600267204091-5c1ab8b10c02?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDd8fG5vdGlvbnxlbnwwfHx8fDE3ODUzNjc2MTd8MA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=2400 2400w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Photo by </span><a href="https://unsplash.com/@sigmund?ref=philsimon.com"><span style="white-space: pre-wrap;">Compagnons</span></a><span style="white-space: pre-wrap;"> / </span><a href="https://unsplash.com/?utm_source=ghost&amp;utm_medium=referral&amp;utm_campaign=api-credit"><span style="white-space: pre-wrap;">Unsplash</span></a></figcaption></figure><h2 id="early-automation-efforts">Early Automation Efforts</h2><p>By way of background, I&apos;ve used <a href="https://www.philsimon.com/simple-notion-crm/" rel="noreferrer">Notion as my CRM</a> for years. When someone fills out <a href="https://www.philsimon.com/connect" rel="noreferrer">the contact form on my site</a>, Notion automatically generates a new prospect/client record in my CRM01 database. If the inquiry is legitimate, then I emailed the person a scheduling link. When that individual booked time with me via Calendly, a little automation magic:</p><ul><li>Matched the existing CRM01 record (via email address).</li><li>Created a new meeting record in the related CRM02 database. (After our call, I&apos;d post the Zoom meeting in that new CRM02 entry and the NotionAI meeting transcriptions. In total, there would be CRM02 entry per client or prospect per meeting.)</li></ul><p>The automated matching process worked, but it was neither terribly elegant nor cost-efficient. In its most recent incarnation, I routinely fired a Notion <a href="https://www.notion.com/blog/introducing-custom-agents?ref=philsimon.com" rel="noreferrer">custom agent</a> to see if any new client or prospect meetings appeared in my Google Calendar. If the answer was <em>yes</em>, then the agent created a new CRM02 record and notified me. </p><p>Brass tacks: Over the last few months, I wasted plenty of tokens. Still, it was the best I could do under the circumstances. </p><div class="kg-card kg-cta-card kg-cta-bg-grey kg-cta-minimal    " data-layout="minimal">
            
                <div class="kg-cta-sponsor-label-wrapper">
                    <div class="kg-cta-sponsor-label">
                        <span style="white-space: pre-wrap;">Simon Workplace Tech Assessment </span>
                    </div>
                </div>
            
            <div class="kg-cta-content">
                
                
                    <div class="kg-cta-content-inner">
                    
                        <div class="kg-cta-text">
                            <p><span style="white-space: pre-wrap;">Gain a deep look into how your team, department, or organization uses its current tools&#x2014;and what it can do better. </span></p>
                        </div>
                    
                    
                        <a href="https://www.philsimon.com/products-simon-workplace-tech-assessment/" class="kg-cta-button kg-style-accent" style="color: #FFFFFF;">
                            LEARN MORE
                        </a>
                        
                    </div>
                
            </div>
        </div><h2 id="changes-and-savings">Changes and Savings</h2><p>Not too long ago, I made two significant changes. First, I ditched Calendly for TidyCal. Second, I began using Apple Calendar in lieu of Google&apos;s equivalent. </p><p>These shifts made me ask a fundamental question: Can I improve my own internal process? Thanks to Notion Workers, I could and did.</p><blockquote>
<p>What else can I automate?</p>
</blockquote>
<p>I created <a href="https://tidycal.com/developer/docs/?ref=philsimon.com" rel="noreferrer">a TidyCal API key</a> and went to work with the <a href="https://developers.notion.com/cli/get-started/overview?ref=philsimon.com" rel="noreferrer">Notion CLI</a> and Claude Code. In no time, I had spun up a new Notion Worker and database that pulls all my TidyCal bookings. A few fancy <a href="https://www.notion.com/help/guides/category/automations?ref=philsimon.com" rel="noreferrer">automations</a> do the same matching for me and alert me of new CRM02 records.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/07/meetings_converted.jpeg" class="kg-image" alt="The Automation Toolbox" loading="lazy" width="2000" height="830" srcset="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/size/w600/2026/07/meetings_converted.jpeg 600w, https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/size/w1000/2026/07/meetings_converted.jpeg 1000w, https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/size/w1600/2026/07/meetings_converted.jpeg 1600w, https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/07/meetings_converted.jpeg 2380w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Notion TidyCal Data Sync | Click on the image to enlarge it.</span></figcaption></figure><p>Even better, I can view and edit those meetings right from client and prospect CRM01 database records:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/07/crm01.jpeg" class="kg-image" alt="The Automation Toolbox" loading="lazy" width="2000" height="1349" srcset="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/size/w600/2026/07/crm01.jpeg 600w, https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/size/w1000/2026/07/crm01.jpeg 1000w, https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/size/w1600/2026/07/crm01.jpeg 1600w, https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/07/crm01.jpeg 2066w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">CRM01 Record for Current Prospect | Click on the image to enlarge it.</span></figcaption></figure><p>I suspect that I reduced <a href="https://www.notion.com/help/category/notion-credits?ref=philsimon.com" rel="noreferrer">my supplemental Notion charges</a> from this automation by roughly 90 percent. What&apos;s more, the new, far smoother process effectively nullifies Notion&apos;s &#xFC;ber annoying Apple Calendar bug. <a href="https://www.youtube.com/watch?v=ZuRo2H87wJY&amp;ref=philsimon.com" rel="noreferrer">Everybody wins</a>.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://www.philsimon.com/old-school-vs-new-school/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Old School vs. New School</div><small><div class="kg-bookmark-description">Thoughts on unconventional methods and the ever-changing mix of tools people use to get things done.</div></small></div></a></figure>
<!--kg-card-begin: html-->
<h2>Simon Says</h2>
<!--kg-card-end: html-->
<p>There are more ways than ever to automate manual processes. In the Notion world alone, adroit developers can access: </p><ol><li>Integrations.</li><li>Custom agents.</li><li>API calls.</li><li><a href="https://www.philsimon.com/the-generative-ai-tool-thats-blowing-my-mind/" rel="noreferrer">MCPs</a>.</li><li>Webhooks.</li><li>Native automations.</li><li>Zapier, Make.com, and other third-party tools.</li></ol><p>Collectively, the Notion developer&apos;s toolbox has never packed more power. Of course, some methods are better and less expensive than others. </p><p>The broader lesson: Just because you&apos;ve <em>already</em> automated a business process doesn&apos;t mean that you can&apos;t do better.</p>]]></content:encoded></item><item><title><![CDATA[On Closets and Workplace Tech]]></title><description><![CDATA[Both can get messy over time, but the benefits of organization outweigh their costs. ]]></description><link>https://www.philsimon.com/on-closets-and-workplace-tech/</link><guid isPermaLink="false">6a733e7e310dd90001f28dd6</guid><category><![CDATA[Claude]]></category><category><![CDATA[Notion]]></category><dc:creator><![CDATA[Phil Simon]]></dc:creator><pubDate>Thu, 13 Aug 2026 13:00:07 GMT</pubDate><media:content url="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/08/closet.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/08/closet.jpg" alt="On Closets and Workplace Tech"><p>For years, I struggled to find cleaning supplies in my kitchen&apos;s utility closet. As a result, I&apos;d sometimes buy duplicate products. &quot;I could have sworn I recently bought Magic Erasers,&quot; I&apos;d say to myself when rummaging through cluttered shelves. Random bags and plastic cups were everywhere. A proper system this was not. </p><p>In April, the situation reached a tipping point. I recently decided to do something about it. <a href="https://www.philsimon.com/why-im-all-in-on-claude/" rel="noreferrer">My bestie Claude</a> didn&apos;t disagree: </p>
<!--kg-card-begin: html-->
<div class="claude-eval">
<p>The core problem: you mixed food/paper goods, cleaning chemicals, and bags/gear with no logical zones. You also store the mop loose, which wastes vertical space and makes everything harder to reach.</p>

  </div>
<!--kg-card-end: html-->
<p>See for yourself: </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/08/before.jpeg" class="kg-image" alt="On Closets and Workplace Tech" loading="lazy" width="1434" height="1436" srcset="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/size/w600/2026/08/before.jpeg 600w, https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/size/w1000/2026/08/before.jpeg 1000w, https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/08/before.jpeg 1434w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Original Closet | Click on the image to enlarge it.</span></figcaption></figure><p>Challenge accepted. </p><div class="kg-card kg-cta-card kg-cta-bg-grey kg-cta-minimal    " data-layout="minimal">
            
                <div class="kg-cta-sponsor-label-wrapper">
                    <div class="kg-cta-sponsor-label">
                        <span style="white-space: pre-wrap;">Simon Workplace Tech Assessment </span>
                    </div>
                </div>
            
            <div class="kg-cta-content">
                
                
                    <div class="kg-cta-content-inner">
                    
                        <div class="kg-cta-text">
                            <p><span style="white-space: pre-wrap;">Gain a deep look into how your team, department, or organization uses its current tools&#x2014;and what it can do better. </span></p>
                        </div>
                    
                    
                        <a href="https://www.philsimon.com/products-simon-workplace-tech-assessment/" class="kg-cta-button kg-style-accent" style="color: #FFFFFF;">
                            LEARN MORE
                        </a>
                        
                    </div>
                
            </div>
        </div><h2 id="the-big-cleanup">The Big Cleanup</h2><p>Over the course of a weekend, I removed everything from the closet. I cleaned the shelves and laid down some black shelf liner in case of future leaks or spills. Logical sections began replacing the utter chaos I had created. I picked up some industrial sprayers and refill bottles. Finally, I installed some <a href="https://www.amazon.com/dp/B07Q6YMKSD?ref_=ppx_hzsearch_conn_dt_b_fed_asin_title_13&amp;th=1ref&amp;ref=philsimon.com" rel="noreferrer">under-shelf rechargeable lights</a>. Why not go the full nine?</p><blockquote>
<p>Night and day.</p>
</blockquote>
<p>Here&apos;s a photo of a newly organized closet shelf. Let&apos;s just say that it looks nothing like its predecessor.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/08/closet.jpeg" class="kg-image" alt="On Closets and Workplace Tech" loading="lazy" width="1200" height="787" srcset="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/size/w600/2026/08/closet.jpeg 600w, https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/size/w1000/2026/08/closet.jpeg 1000w, https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/08/closet.jpeg 1200w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Newly Reorganized Shelf Closet | Click on the image to enlarge it.</span></figcaption></figure><p>Now I can easily locate <em>Formula 409</em>, granite cleaner, and whatever else I need. Why I didn&apos;t undertake this project years ago mystifies me. </p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://www.philsimon.com/parallels-notion-ghostwriting/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Parallels Between Ghostwriting and Notion Development</div><small><div class="kg-bookmark-description">Thoughts about two ostensibly disparate services I provide.</div></small></div></a></figure><h2 id="a-workplace-parallel">A Workplace Parallel</h2><p>I suspect that many small business owners, CXOs, team leads, and department heads can relate to my little yarn. They routinely struggle to find key information. Teammates sloppily enter duplicate records in systems because they can&apos;t find what they need. Automated reporting is a pipe dream. Answering simple questions takes way too much time and effort. They pay for tech they don&apos;t use&#x2014;at least as much as they could. </p><p>You get my drift.</p><p>If you want some help cleaning your tech closet, <a href="https://www.philsimon.com/connect" rel="noreferrer">let&apos;s talk</a>. </p>]]></content:encoded></item><item><title><![CDATA[Introducing the Simon Workplace Tech Assessment]]></title><description><![CDATA[My latest creation analyzes how your team, department, or organization collaborates and uses its current tools—and what it can do better.]]></description><link>https://www.philsimon.com/introducing-the-simon-workplace-tech-assessment/</link><guid isPermaLink="false">6a77c8c6d6ffd2000168e1e9</guid><category><![CDATA[AI]]></category><category><![CDATA[Collaboration]]></category><category><![CDATA[Low-Code/No-Code]]></category><category><![CDATA[LCNC book]]></category><category><![CDATA[Project Management]]></category><category><![CDATA[PMHW]]></category><category><![CDATA[Reimagining Collaboration]]></category><category><![CDATA[Future of Work]]></category><category><![CDATA[Faves]]></category><dc:creator><![CDATA[Phil Simon]]></dc:creator><pubDate>Mon, 10 Aug 2026 12:11:01 GMT</pubDate><media:content url="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/08/a_bunch_of_employees_frustrated-1.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/08/a_bunch_of_employees_frustrated-1.jpg" alt="Introducing the Simon Workplace Tech Assessment"><p>In the course of my 30 years around workplace tech, I&apos;ve learned a thing or six. I&apos;ve seen more times than I can count how people, teams, departments, and organizations use and misuse systems. Most of my&#xA0;<a href="https://www.philsimon.com/books">books</a>&#xA0;address the subject in one way or another&#x2014;especially my four-part series on the future of work.</p><p>Full-length, well-written texts have impacted my life in profound ways. Many of them taught me new skills, frameworks, and ways to become more effective. It&apos;s no overstatement that, without books, I would be a much different, less informed, and less productive person. </p><p>At the same time, though, even the best books aren&apos;t panaceas. They&apos;re static, decidedly non-interactive artifacts. Thanks to the rise of generative AI, however, that limitation is eroding.</p><h2 id="drumroll%E2%80%A6">Drumroll&#x2026;</h2><p>Today I&apos;m pleased to announce the beta launch of the Simon Workplace Tech Assessment. The SWTA is a relatively short questionnaire that analyzes how your team, department, or organization uses them in working together. </p><p>After <a href="https://www.philsimon.com/products-simon-workplace-tech-assessment/#faq" rel="noreferrer">I qualify the respondent</a>, I&apos;ll generate and send you a specific, 700-ish-word assessment based upon my four-part series on the future of work:</p><ol><li><a href="https://www.philsimon.com/book-reimagining-collaboration/" rel="noreferrer"><em>Reimagining Collaboration: Slack, Microsoft Teams, Zoom, and the Post-COVID World of Work</em>.</a></li><li><a href="https://www.philsimon.com/book-project-management-in-the-hybrid-workplace" rel="noreferrer"><em>Project Management in the Hybrid Workplace</em></a><em>.</em></li><li><a href="https://www.philsimon.com/book-low-code-no-code/" rel="noreferrer"><em>Low-Code/No-Code: Citizen Developers and the Surprising Future of Business Applications</em></a><em>.</em></li><li><a href="https://www.philsimon.com/book-the-nine/" rel="noreferrer"><em>The Nine: The Tectonic Forces Reshaping the Workplace</em></a><em>.</em></li></ol><p>The STWA offers bespoke advice from a deep corpus of knowledge&#x2014;more than 1,100 pages on workplace tech, collaboration, organizational change, cultural issues, and the future of work. </p><p>It&apos;s launching today in beta. </p>
<!--kg-card-begin: html-->
<div class="book-buy-buttons">
    <a href="https://www.philsimon.com/products-simon-workplace-tech-assessment/" rel="noopener">LEARN MORE</a>
    <a href="https://philsimon.notion.site/3b6fbefd2aed806dba89edd1840c6407?pvs=105&amp;ref=philsimon.com" target="_blank" rel="noopener">TAKE THE SWTA</a>
</div>
<!--kg-card-end: html-->
]]></content:encoded></item><item><title><![CDATA[On Turnkey Vendors and Fat Margins]]></title><description><![CDATA[A serious lack of knowledge continues to let software companies charge insane recurring fees. ]]></description><link>https://www.philsimon.com/on-turnkey-vendors-and-fat-margins/</link><guid isPermaLink="false">6a71f2656626210001d4fd6a</guid><category><![CDATA[Notion]]></category><category><![CDATA[AI]]></category><category><![CDATA[Marketing]]></category><category><![CDATA[SEO]]></category><category><![CDATA[Smallbiz]]></category><category><![CDATA[WordPress]]></category><category><![CDATA[LCNC book]]></category><category><![CDATA[Low-Code/No-Code]]></category><category><![CDATA[Citizen Development]]></category><category><![CDATA[Claude]]></category><category><![CDATA[SaaS]]></category><category><![CDATA[Amazon]]></category><category><![CDATA[Apple]]></category><category><![CDATA[The New Small]]></category><dc:creator><![CDATA[Phil Simon]]></dc:creator><pubDate>Thu, 06 Aug 2026 13:19:33 GMT</pubDate><media:content url="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/08/woman.jpeg" medium="image"/><content:encoded><![CDATA[<img src="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/08/woman.jpeg" alt="On Turnkey Vendors and Fat Margins"><p>In 2013, I attended a small business networking event in Las Vegas. A major marketing and tech vendor footed the bill for the shindig. More specifically, that company offered website maintenance, hosting, support, SEO, newsletter management, and other number of turnkey services. Additional options included  occasional blogging.</p><p>After the Vendor X&apos;s salespeople gave their spiel, I spoke with a number of clients at my table. Eventually, the conversation turned to price. The recurring fee astounded me. Some of these companies paid $3,500 to $5,000 <em>per month</em> for these services.</p><h2 id="huh">Huh?</h2><p>I shook my head in disbelief. The restaurateurs, lawyers, and other small-biz owners in attendance certainly knew their trades, but they lacked anything resembling expertise in contemporary tech. Vendor X&apos;s websites were largely cookie-cutter. They provided basic e-commerce functionality&#x2014;a tough ask in 1996, but not in 2013. Even premium hosting had become affordable by that point. I&apos;d bet my life that the vendor&apos;s profit margins were more <a href="https://www.macrotrends.net/stocks/charts/AAPL/apple/profit-margins?ref=philsimon.com" rel="noreferrer">Apple</a> than <a href="https://www.macrotrends.net/stocks/charts/AMZN/amazon/profit-margins?ref=philsimon.com" rel="noreferrer">Amazon</a>. </p><blockquote>
<p>Pay these vendors&apos; monthly fees if you like, but the game has changed.</p>
</blockquote>
<p>Nice work if you can get it. At least it pays for complementary sandwiches. </p><div class="kg-card kg-cta-card kg-cta-bg-grey kg-cta-minimal    " data-layout="minimal">
            
                <div class="kg-cta-sponsor-label-wrapper">
                    <div class="kg-cta-sponsor-label">
                        <span style="white-space: pre-wrap;">Simon Workplace Tech Assessment </span>
                    </div>
                </div>
            
            <div class="kg-cta-content">
                
                
                    <div class="kg-cta-content-inner">
                    
                        <div class="kg-cta-text">
                            <p><span style="white-space: pre-wrap;">Gain a deep look into how your team, department, or organization uses its current tools&#x2014;and what it can do better. </span></p>
                        </div>
                    
                    
                        <a href="https://www.philsimon.com/products-simon-workplace-tech-assessment/" class="kg-cta-button kg-style-accent" style="color: #FFFFFF;">
                            LEARN MORE
                        </a>
                        
                    </div>
                
            </div>
        </div><h2 id="the-more-things-change-%E2%80%A6">The More Things Change &#x2026;</h2><p>Fast-forward 13 years. Some turnkey outfits continue to make a killing off of their unsuspecting clients. </p><p>Case in point: I spoke with a friend of mine recently about this very subject. One vendor charged him $700 per month to do the following:</p><ol><li>Publish AI-assisted blog posts.</li><li>Route them to his two WordPress sites. </li></ol><p>I floored him when I mentioned that I could <a href="https://www.philsimon.com/services-notion-development/" rel="noreferrer">build a Notion-based tool</a> for him that would save him at least $5,000 per year. In a way, not much has changed since my book <a href="https://www.philsimon.com/book-the-new-small" rel="noreferrer"><em>The New Small</em></a> dropped in 2010.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://www.philsimon.com/what-else-can-i-automate/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">What Else Can I Automate?</div><small><div class="kg-bookmark-description">A simple question driving much of my work these days led to some useful Notion additions.</div></small></div></a></figure>
<!--kg-card-begin: html-->
<h2>Simon Says: Open your mind.</h2>
<!--kg-card-end: html-->
<p>Building bespoke systems <em>used to be</em> prohibitively difficult and expensive. For this reason, millions of small businesses overpaid for the very applications and services I just described. No doubt that many (even most) of these companies will continue doing so. Make no mistake, though: the game has changed. Thank the explosion of AI and <a href="https://www.philsimon.com/tag/lc-nc/" rel="noreferrer">no-code and low-code tools</a>.</p><p>Pay these vendors&apos; fees if you like. I can&apos;t stop you. I&apos;m betting, though, that there&apos;s a much cheaper mousetrap out there for you if you open your mind.</p>]]></content:encoded></item><item><title><![CDATA[Old School vs. New School]]></title><description><![CDATA[Thoughts on unconventional methods and the ever-changing mix of tools people use to get things done.]]></description><link>https://www.philsimon.com/old-school-vs-new-school/</link><guid isPermaLink="false">6a66197ec947900001b144b8</guid><category><![CDATA[AI]]></category><category><![CDATA[Claude]]></category><category><![CDATA[Notion]]></category><category><![CDATA[Slack]]></category><dc:creator><![CDATA[Phil Simon]]></dc:creator><pubDate>Mon, 03 Aug 2026 13:16:14 GMT</pubDate><media:content url="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/07/old-school-vs-new-school-v2.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/07/old-school-vs-new-school-v2.jpg" alt="Old School vs. New School"><p>For my entire career, workplace tech and collaboration have fascinated me. I suspect that my interest in these topics will never wane. Invariably at the gym, I catch a glimpse of people furiously pecking away at their keyboards. What applications are they using? Would any of them benefit my clients or me? </p><h2 id="a-perplexing-mix">A Perplexing Mix </h2>
<!--kg-card-begin: html-->
<p>In a Slack workspace, I recently saw someone post a message in an <code>AI</code> channel on his use of Claude. I immediately knew that this individual:</p>
<!--kg-card-end: html-->
<ol><li>Understood the power of generative AI and Claude in particular. (In that way, <a href="https://www.philsimon.com/why-im-all-in-on-claude/" rel="noreferrer">we&apos;re alike</a>.)</li><li>Knew at least the rudiments of Slack&#x2014;a noisy, often confusing morass of information.</li></ol><p>Cool, I thought. This individual and I shared some common tech sensibilities. And four seconds later, I also knew that some pretty stark differences existed as well. From his post:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/07/SCR-20260726-hcrk_converted.jpeg" class="kg-image" alt="Old School vs. New School" loading="lazy" width="880" height="678" srcset="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/size/w600/2026/07/SCR-20260726-hcrk_converted.jpeg 600w, https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/07/SCR-20260726-hcrk_converted.jpeg 880w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Slack Post/Screenshot | Click on the image to enlarge it.</span></figcaption></figure><p>Wow. </p><blockquote>
<p>You can use any software program in unconventional ways.</p>
</blockquote>
<p>Person X copied the Claude session and pasted it into a Microsoft Word document.</p><div class="kg-card kg-cta-card kg-cta-bg-grey kg-cta-minimal    " data-layout="minimal">
            
                <div class="kg-cta-sponsor-label-wrapper">
                    <div class="kg-cta-sponsor-label">
                        <span style="white-space: pre-wrap;">Simon Workplace Tech Assessment </span>
                    </div>
                </div>
            
            <div class="kg-cta-content">
                
                
                    <div class="kg-cta-content-inner">
                    
                        <div class="kg-cta-text">
                            <p><span style="white-space: pre-wrap;">Gain a deep look into how your team, department, or organization uses its current tools&#x2014;and what it can do better. </span></p>
                        </div>
                    
                    
                        <a href="https://www.philsimon.com/products-simon-workplace-tech-assessment/" class="kg-cta-button kg-style-accent" style="color: #FFFFFF;">
                            LEARN MORE
                        </a>
                        
                    </div>
                
            </div>
        </div><h2 id="how-i-think-about-collaboration">How I Think About Collaboration</h2><p>I&apos;m not judging, but I would have shared my Claude chat in one of the following ways:</p><ol><li><a href="https://support.claude.com/en/articles/10593882-share-and-unshare-chats?ref=philsimon.com" rel="noreferrer">Making the Claude session public</a>.</li><li>Blogging about it on my website. Think web, <a href="https://www.philsimon.com/think-web/" rel="noreferrer">as I used to say</a>.</li><li>Using Google Docs, <a href="https://www.philsimon.com/tag/notion" rel="noreferrer">Notion</a>, or another contemporary collaboration tool.</li></ol><p>If none of these options existed, I would have <a href="https://www.philsimon.com/vibe-coding-band-aids/" rel="noreferrer">vibe-coded my own solution</a>. Put differently, I&apos;d never consider relying on <a href="https://en.wikipedia.org/wiki/History_of_Microsoft_Word?ref=philsimon.com" rel="noreferrer">a 43-year-old program</a> best suited for <a href="https://www.philsimon.com/services-ghostwriting/" rel="noreferrer">manuscripts</a>, reports, and their ilk.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://www.philsimon.com/the-accidental-committer/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">The Accidental Committer</div><small><div class="kg-bookmark-description">Claude Code has awakened my inner open-source beast.</div></small></div></a></figure><h2 id="simon-says">Simon Says</h2><p><em>Can </em>you share Claude sessions via Word, Excel, or another tried-and-true application? Sure. You can use any software program in unconventional ways. A few examples:</p><ul><li>Some people have emailed me 40 MB attachments instead of using iCloud, Dropbox, OneDrive, Google Drive, or WeTransfer.</li><li>Plenty of self-published authors use Word to &quot;design&quot; their books. The final products look decidedly amateur.</li><li>It&apos;s downright silly to store reams of structured data in a PowerPoint file, but I&apos;ve seen people do it. Hell, these days you might even be able to <a href="https://support.claude.com/en/articles/13521390-use-claude-for-powerpoint?ref=philsimon.com" rel="noreferrer">analyze it with Claude</a>. </li></ul><p>There&apos;s a chasm, though, between <em>can</em> and <em>should</em>.</p>
<!--kg-card-begin: html-->
<h2>Feedback</h2>
<!--kg-card-end: html-->
<p>Which old stalwarts do you continue to use? Which ones do you use in, er, <em>creative</em> ways?</p>]]></content:encoded></item><item><title><![CDATA[What Else Can I Automate?]]></title><description><![CDATA[A simple question driving much of my work these days led to some useful Notion additions.]]></description><link>https://www.philsimon.com/what-else-can-i-automate/</link><guid isPermaLink="false">6a5fd6bd6c4391000152b2a4</guid><category><![CDATA[Notion]]></category><category><![CDATA[AI]]></category><category><![CDATA[Automation]]></category><category><![CDATA[Consulting]]></category><category><![CDATA[Citizen Development]]></category><category><![CDATA[Enterprise Systems]]></category><category><![CDATA[ERP]]></category><category><![CDATA[Analytics]]></category><category><![CDATA[Claude]]></category><category><![CDATA[Macs]]></category><category><![CDATA[GitHub]]></category><category><![CDATA[Dataviz]]></category><dc:creator><![CDATA[Phil Simon]]></dc:creator><pubDate>Mon, 27 Jul 2026 13:12:24 GMT</pubDate><media:content url="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/07/consultant.png" medium="image"/><content:encoded><![CDATA[<img src="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/07/consultant.png" alt="What Else Can I Automate?"><p>During the aughts, I paid my bills as an enterprise systems consultant. The projects varied, but my colleagues and I largely needed to be on site Monday through Thursday. Fridays were typically admin days. That is, we submitted our weekly expenses, sent our PMs status reports, participated in conference calls, and the like. </p><p>For consultants, recapping weekly activities has always been a necessary evil. We needed to justify our rates. Consulting engagement managers, client bean counters, project managers, and internal auditors don&apos;t like being kept in the dark. The tedious manual process traditionally took my peers anywhere from 15 to 30 minutes. I usually shaved about 50 percent off that number by starting from an existing template and updating it throughout the week. </p><h2 id="is-there-a-better-way">Is There a Better Way?</h2><p>What if you could automate that entire process? Even ten years ago, the answer to that question would have been a hard no. Today, it&apos;s easier than ever and, best of all, requires zero coding knowledge. </p><p>Last week, I built a simple <a href="https://www.philsimon.com/tag/notion" rel="noreferrer">Notion</a> custom agent via the following prompt:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/07/notion.jpeg" class="kg-image" alt="What Else Can I Automate?" loading="lazy" width="1736" height="910" srcset="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/size/w600/2026/07/notion.jpeg 600w, https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/size/w1000/2026/07/notion.jpeg 1000w, https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/size/w1600/2026/07/notion.jpeg 1600w, https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/07/notion.jpeg 1736w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Notion Prompt: | July 23, 2026 | Click on the image to enlarge it.</span></figcaption></figure><p>As I do with all of my Notion custom agents, I gave it a clever, phonetic name:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/07/wesley.jpeg" class="kg-image" alt="What Else Can I Automate?" loading="lazy" width="1680" height="804" srcset="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/size/w600/2026/07/wesley.jpeg 600w, https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/size/w1000/2026/07/wesley.jpeg 1000w, https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/size/w1600/2026/07/wesley.jpeg 1600w, https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/07/wesley.jpeg 1680w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Notion Weekly Agent | Click on the image to enlarge it.</span></figcaption></figure><p>And <em>voil&#xE0;</em>!</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/07/weekly_notion_converted.jpeg" class="kg-image" alt="What Else Can I Automate?" loading="lazy" width="1938" height="876" srcset="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/size/w600/2026/07/weekly_notion_converted.jpeg 600w, https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/size/w1000/2026/07/weekly_notion_converted.jpeg 1000w, https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/size/w1600/2026/07/weekly_notion_converted.jpeg 1600w, https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/07/weekly_notion_converted.jpeg 1938w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Week in Review dB | Click on the image to enlarge it.</span></figcaption></figure><h2 id="results-and-going-down-the-rabbit-role">Results and Going Down the Rabbit Role</h2>
<!--kg-card-begin: html-->
<p>I&apos;m now able to access a simple log of all of the Notion-related  work I&apos;ve performed the past seven days. (Oh, the power of metadata.) I suspect that I&apos;ll be able to learn a great deal about how I use Notion&#x2014;and how I can improve in the future. A neat <code>launchd</code> job on my Mac sends my daily results to a separate Notion database. And, of course, I back up all of my code on GitHub.
<!--kg-card-end: html-->
<div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-emoji">&#x1F4BB;</div><div class="kg-callout-text">For more on this powerful Mac feature, click&#xA0;<a href="https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/ScheduledJobs.html?ref=philsimon.com" rel="noreferrer">here</a>.</div></div>
<!--kg-card-begin: html-->
</p><p>I&apos;ve created the same automation for <a href="https://www.philsimon.com/why-im-all-in-on-claude/" rel="noreferrer">my bestie Claude</a>.</p>
<!--kg-card-end: html-->
<figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/07/graph.jpeg" class="kg-image" alt="What Else Can I Automate?" loading="lazy" width="1562" height="814" srcset="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/size/w600/2026/07/graph.jpeg 600w, https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/size/w1000/2026/07/graph.jpeg 1000w, https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/07/graph.jpeg 1562w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Claude Code to Notion dB | Click on the image to enlarge it.</span></figcaption></figure><p>And why not toss in a simple but effective graph?</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/07/graph_converted.jpeg" class="kg-image" alt="What Else Can I Automate?" loading="lazy" width="1698" height="998" srcset="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/size/w600/2026/07/graph_converted.jpeg 600w, https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/size/w1000/2026/07/graph_converted.jpeg 1000w, https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/size/w1600/2026/07/graph_converted.jpeg 1600w, https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/07/graph_converted.jpeg 1698w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Claude Code to Graph | Click on the image to enlarge it.</span></figcaption></figure><div class="kg-card kg-cta-card kg-cta-bg-grey kg-cta-minimal    " data-layout="minimal">
            
            <div class="kg-cta-content">
                
                
                    <div class="kg-cta-content-inner">
                    
                        <div class="kg-cta-text">
                            <p><span style="white-space: pre-wrap;">Need help building an app or system to track key personal or professional tasks? </span></p>
                        </div>
                    
                    
                        <a href="https://www.philsimon.com/connect/" class="kg-cta-button kg-style-accent" style="color: #FFFFFF;">
                            HIRE ME
                        </a>
                        
                    </div>
                
            </div>
        </div><p>Finally, for good measure, I added a simple AI summary of the day&apos;s activities for easy viewing:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/07/AI-summary-1.jpeg" class="kg-image" alt="What Else Can I Automate?" loading="lazy" width="1574" height="1154" srcset="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/size/w600/2026/07/AI-summary-1.jpeg 600w, https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/size/w1000/2026/07/AI-summary-1.jpeg 1000w, https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/07/AI-summary-1.jpeg 1574w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Database Entry for July 23, 2026 | Click on the image to enlarge it.</span></figcaption></figure><p>If you only consider Notion a note-taking app, you&apos;re really missing out. </p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://www.philsimon.com/the-accidental-committer/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">The Accidental Committer</div><small><div class="kg-bookmark-description">Claude Code has awakened my inner open-source beast.</div></small></div></a></figure>
<!--kg-card-begin: html-->
<h2>Simon Says</h2>
<!--kg-card-end: html-->
<p>No, you can&apos;t automate everything. At the same time, it&apos;s downright silly to stick with manual processes out of habit or laziness. Once one domino falls, you may be surprised with what you eventually create.</p><h2 id="feedback">Feedback</h2><p>What have you automated lately? </p>]]></content:encoded></item><item><title><![CDATA[Finding the Right Tech Ingredients]]></title><description><![CDATA[Solving a vexing automation problem required some experimentation and resurrecting a reliable tool from long ago.]]></description><link>https://www.philsimon.com/tech-ingredients/</link><guid isPermaLink="false">6a58291a2563260001b8dc78</guid><category><![CDATA[Claude]]></category><category><![CDATA[AI]]></category><category><![CDATA[LinkedIn]]></category><category><![CDATA[Python]]></category><category><![CDATA[Social Media]]></category><category><![CDATA[Zapier]]></category><category><![CDATA[Automation]]></category><category><![CDATA[APIs]]></category><category><![CDATA[Twitter]]></category><category><![CDATA[Facebook/Meta]]></category><dc:creator><![CDATA[Phil Simon]]></dc:creator><pubDate>Mon, 20 Jul 2026 13:19:30 GMT</pubDate><media:content url="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/07/a_cook_mixing_ingredients_in-1.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/07/a_cook_mixing_ingredients_in-1.jpg" alt="Finding the Right Tech Ingredients"><p>About a month ago, I <a href="https://www.philsimon.com/automation-critical-thinking/" rel="noreferrer">wrote about</a> how I used <a href="https://www.philsimon.com/why-im-all-in-on-claude/" rel="noreferrer">my bestie Claude Code</a> to replace one automation solution with another. As it turned out, the fix turned out to be a Band-Aid. (Cue <a href="https://www.brainyquote.com/quotes/craig_bruce_189151?ref=philsimon.com" rel="noreferrer">Craig Bruce quote</a>.) </p><p>In today&apos;s post, I&apos;ll explain: </p><ol><li>How I permanently automated posting to LinkedIn while abiding by its terms of service.</li><li>The lesson citizen developers can learn from my travails.</li></ol><p>Let&apos;s light this candle.</p><h2 id="background">Background</h2>
<!--kg-card-begin: html-->
<p>I had successfully automated sending my posts from this site and <a href="https://www.racketpublishing.com/blog?ref=philsimon.com" rel="noreferrer">Racket Publishing</a> to <a href="https://www.linkedin.com/in/thephilsimon/?ref=philsimon.com" rel="noreferrer">my LinkedIn profile</a> and each entity&apos;s corresponding page. Claude Code helped me build a Python script that invoked <a href="https://en.wikipedia.org/wiki/Playwright_(software)?ref=philsimon.com" rel="noreferrer">Playwright</a>&#x2014;the powerful browser automation library. That promising solution, however, proved ephemeral.<sup id="fnref1"><a href="#fn1">1</a></sup> LinkedIn&apos;s justifiable anti-bot detection methods thwarted my initial approach. I suspected that I was chasing my tail here, and Claude Code confirmed as much.</p>
<!--kg-card-end: html-->
<p>What to do? Would I have to revert to manually posting?</p>]]></content:encoded></item><item><title><![CDATA[The Accidental Committer]]></title><description><![CDATA[Claude Code has awakened my inner open-source beast. ]]></description><link>https://www.philsimon.com/the-accidental-committer/</link><guid isPermaLink="false">6a4fa67eeadaf20001bb0b1b</guid><category><![CDATA[AI]]></category><category><![CDATA[Claude]]></category><category><![CDATA[GitHub]]></category><category><![CDATA[Citizen Development]]></category><category><![CDATA[LCNC book]]></category><category><![CDATA[Python]]></category><category><![CDATA[Notion]]></category><category><![CDATA[Open Source]]></category><category><![CDATA[SaaS]]></category><category><![CDATA[Automation]]></category><category><![CDATA[Macs]]></category><category><![CDATA[Breaking Bad]]></category><category><![CDATA[Faves]]></category><dc:creator><![CDATA[Phil Simon]]></dc:creator><pubDate>Tue, 14 Jul 2026 13:22:41 GMT</pubDate><media:content url="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/07/an_accidental_coder.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/07/an_accidental_coder.jpg" alt="The Accidental Committer"><p>Most industry types knew that GitHub had become a big deal since <a href="https://en.wikipedia.org/wiki/GitHub?ref=philsimon.com#:~:text=On%20June%204%2C%202018%2C%20Microsoft,a%20community%2C%20platform%20and%20business." rel="noreferrer">its inception</a>. I, for one, didn&apos;t realize <em>how</em> big until June 4, 2018. On that day, Microsoft dropped a cool <a href="https://news.microsoft.com/announcement/microsoft-acquires-github/?ref=philsimon.com" rel="noreferrer">$7.5 billion</a> for the world&apos;s largest code repository. The acquisition turned out far better than <a href="https://www.theverge.com/2015/7/8/8910999/microsoft-job-cuts-2015-nokia-write-off?ref=philsimon.com" rel="noreferrer">the Nokia one</a> did.</p><p>Over the years, I had dipped one foot in the GitHub pool. As <a href="https://www.philsimon.com/academia" rel="noreferrer">a college professor</a>, I had pushed some straightforward Python examples in a public repo for my students. </p><figure class="kg-card kg-code-card"><pre><code class="language-python">#say_my_name. 
counter = 1 #this is the counter that I metnioned before
guess = input(&quot;Say my name. &quot;)
name = &quot;Heisenberg&quot;
while (guess != name):
    guess = input(&quot;Try again. &quot;)
    counter = counter + 1 
if counter == 1: #note the double == here.
    print(&quot;\nYou are *!##%! right.&quot;, &quot;It took you&quot;, counter, &quot;try.&quot;)
elif counter in [2, 3, 4, 5]:
    print(&quot;\nYou are *!##%! right.&quot;, &quot;It took you&quot;, counter, &quot;tries.&quot;)
else: 
    print(&quot;\n\tSeriously? You don&apos;t watch this show at all.&quot;)</code></pre><figcaption><p><span style="white-space: pre-wrap;">Simple Breaking Bad Python Script</span></p></figcaption></figure><p>Still, no one would call me a <em>power user</em>. It&apos;s not like I committed code every week or every month.</p><p>Until suddenly I did. </p><p>In this post, I&apos;ll explain why.</p><h2 id="claude-code-got-this-whole-train-rolling">Claude Code Got This Whole Train Rolling </h2><p>Since going <a href="https://www.philsimon.com/why-im-all-in-on-claude/" rel="noreferrer">all in on Claude</a>, I&apos;ve been a busy little GitHub bee. Looking <a href="https://github.com/philsimon?ref=philsimon.com" rel="noreferrer">at my recent contributions</a> confirms as much: </p><figure class="kg-card kg-image-card"><img src="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/07/coder.png" class="kg-image" alt="The Accidental Committer" loading="lazy" width="1538" height="414" srcset="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/size/w600/2026/07/coder.png 600w, https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/size/w1000/2026/07/coder.png 1000w, https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/07/coder.png 1538w" sizes="(min-width: 720px) 720px"></figure><p>It didn&apos;t take that long to automate simple manual processes such as <a href="https://www.philsimon.com/automation-critical-thinking/" rel="noreferrer">this one</a>. Some of the more sophisticated ones, though, required <a href="https://en.wikipedia.org/wiki/Cron?ref=philsimon.com" rel="noreferrer">cron jobs</a>. Fortunately, <a href="https://github.com/features/actions?ref=philsimon.com" rel="noreferrer">GitHub actions</a> fit the bill perfectly. No more backing up <a href="https://www.philsimon.com/the-next-chapter/" rel="noreferrer">Ghost posts and pages</a> in Notion. Claude Code helped me see the light and create a neat <a href="https://www.philsimon.com/claude-and-cardio/" rel="noreferrer">Apple Health interactive dashboard</a>. Have at it on <a href="https://github.com/philsimon/apple-health-workout-parser-dashboard?ref=philsimon.com" rel="noreferrer">GitHub</a>.</p><div class="kg-card kg-signup-card kg-width-wide " data-lexical-signup-form style="background-color: #EDECE9; display: none;">
            
            <div class="kg-signup-card-content">
                
                <div class="kg-signup-card-text ">
                    <h2 class="kg-signup-card-heading" style="color: #000000;"><span style="white-space: pre-wrap;">Sign up for Simon Says</span></h2>
                    <p class="kg-signup-card-subheading" style="color: #000000;"><span style="white-space: pre-wrap;">Weekly insights on AI, workplace tech, and more.</span></p>
                    
        <form class="kg-signup-card-form" data-members-form="signup">
            
            <div class="kg-signup-card-fields">
                <input class="kg-signup-card-input" id="email" data-members-email type="email" required="true" placeholder="jamie@example.com">
                <button class="kg-signup-card-button kg-style-accent" style="color: #FFFFFF;" type="submit">
                    <span class="kg-signup-card-button-default">SUBSCRIBE</span>
                    <span class="kg-signup-card-button-loading"><svg xmlns="http://www.w3.org/2000/svg" height="24" width="24" viewbox="0 0 24 24">
        <g stroke-linecap="round" stroke-width="2" fill="currentColor" stroke="none" stroke-linejoin="round" class="nc-icon-wrapper">
            <g class="nc-loop-dots-4-24-icon-o">
                <circle cx="4" cy="12" r="3"/>
                <circle cx="12" cy="12" r="3"/>
                <circle cx="20" cy="12" r="3"/>
            </g>
            <style data-cap="butt">
                .nc-loop-dots-4-24-icon-o{--animation-duration:0.8s}
                .nc-loop-dots-4-24-icon-o *{opacity:.4;transform:scale(.75);animation:nc-loop-dots-4-anim var(--animation-duration) infinite}
                .nc-loop-dots-4-24-icon-o :nth-child(1){transform-origin:4px 12px;animation-delay:-.3s;animation-delay:calc(var(--animation-duration)/-2.666)}
                .nc-loop-dots-4-24-icon-o :nth-child(2){transform-origin:12px 12px;animation-delay:-.15s;animation-delay:calc(var(--animation-duration)/-5.333)}
                .nc-loop-dots-4-24-icon-o :nth-child(3){transform-origin:20px 12px}
                @keyframes nc-loop-dots-4-anim{0%,100%{opacity:.4;transform:scale(.75)}50%{opacity:1;transform:scale(1)}}
            </style>
        </g>
    </svg></span>
                </button>
            </div>
            <div class="kg-signup-card-success" style="color: #000000;">
                Email sent! Check your inbox to complete your signup.
            </div>
            <div class="kg-signup-card-error" style="color: #000000;" data-members-error></div>
        </form>
        
                    <p class="kg-signup-card-disclaimer" style="color: #000000;"><span style="white-space: pre-wrap;">No spam. No bullshit. Unsubscribe anytime.</span></p>
                </div>
            </div>
        </div><h2 id="what-else-can-i-replace">What <em>Else</em> Can I Replace?</h2><p>Claude Code has awakened my inner open-source beast. Lately, I&apos;ve been a bit of a demon finding free alternatives to paid SaaS staples. Case in point: my document signing needs are casual. A paid Docusign subscription never made sense. <a href="https://sign.dropbox.com/?coupon_code=SIGN1026Q2B&amp;_tk=paid_sem_goog_b_tier1_na&amp;_camp=na_us_goog_b_tier-1_sign%7C22134736052&amp;_content=dbs-dropboxsign-exact%7C168775204010&amp;_kw=dropbox%20sign%7Ce&amp;_ad=730029028024%7Cc&amp;gad_source=1&amp;gad_campaignid=22134736052&amp;gbraid=0AAAAADubkg9C7tTgs_riDiwXf5NWaUSJH&amp;gclid=EAIaIQobChMI58aTqObFlQMVcS1ECB2p-CxWEAAYASAAEgL1N_D_BwE&amp;ref=philsimon.com" rel="noreferrer">Dropbox Sign</a> works, but the company&apos;s incessant attempts to upsell me leave me annoyed. </p><blockquote>
<p>Claude Code has awakened the open-source beast.</p>
</blockquote>
<p>Enter <a href="https://documenso.com/?ref=philsimon.com" rel="noreferrer">Documenso</a>. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/07/documenso.jpeg" class="kg-image" alt="The Accidental Committer" loading="lazy" width="1860" height="1456" srcset="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/size/w600/2026/07/documenso.jpeg 600w, https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/size/w1000/2026/07/documenso.jpeg 1000w, https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/size/w1600/2026/07/documenso.jpeg 1600w, https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/07/documenso.jpeg 1860w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">Test Document for Digital Signature | Click on the image to enlarge it.</span></figcaption></figure><p>You&apos;re welcome.</p><div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-emoji">&#x1F5E3;&#xFE0F;</div><div class="kg-callout-text"><b><strong style="white-space: pre-wrap;">Out With the Old</strong></b><br>I&apos;m a big believer in routinely auditing your apps to identify gaps. To that end, Wispr Flow no longer handles my voice dictation. A week ago, I converted to <a href="https://lispr.ai/?ref=philsimon.com" rel="noreferrer">Lispr.ai</a>. (Hat tip: <a href="https://wondertools.substack.com/" rel="noreferrer">Jeremy Caplan</a>.) <a href="https://github.com/datalab-to/marker?ref=philsimon.com" rel="noreferrer">Marker</a> lets anyone easily turn PDFs into Markdown. </div></div><p>The Claude Code-GitHub combo has also proved invaluable in other ways. <a href="https://www.philsimon.com/godaddy-and-microsoft-failed-me-claude/" rel="noreferrer">My efforts to combat spam</a> and add advanced automations to Notion databases come to mind.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://www.philsimon.com/claude-the-ultimate-utility-player/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Claude: The Ultimate Utility Player</div><small><div class="kg-bookmark-description">My favorite AI tool helped me quickly solve four very different problems&#x2014;all before 10 am one March morning.</div></small></div></a></figure>
<!--kg-card-begin: html-->
<h2>Simon Says</h2>
<!--kg-card-end: html-->
<p>Finding effective replacements&#x2014;and creating new ones&#x2014;is downright addicting. I suspect that many citizen developers feel the same way. </p><h2 id="feedback">Feedback</h2><p>What new tools have you adopted in the past year?</p>]]></content:encoded></item><item><title><![CDATA[Parallels Between Ghostwriting and Notion Development]]></title><description><![CDATA[Thoughts about two ostensibly disparate services I provide.]]></description><link>https://www.philsimon.com/parallels-notion-ghostwriting/</link><guid isPermaLink="false">6a4d372a3a1e750001907955</guid><category><![CDATA[Notion]]></category><category><![CDATA[Ghostwriting]]></category><category><![CDATA[CRM]]></category><category><![CDATA[Project Management]]></category><category><![CDATA[Enterprise Systems]]></category><category><![CDATA[ERP]]></category><dc:creator><![CDATA[Phil Simon]]></dc:creator><pubDate>Wed, 08 Jul 2026 13:21:55 GMT</pubDate><media:content url="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/07/two_blurry_parallel_lines.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/07/two_blurry_parallel_lines.jpg" alt="Parallels Between Ghostwriting and Notion Development"><p>Sometimes people can&apos;t immediately size me up, and I can&apos;t blame them. After all, I wear a few <a href="https://www.philsimon.com/services" rel="noreferrer">different hats</a>. That&apos;s not to say, however, that each one gets equal use. Far from it. Over the last four years, I have worn two caps more than the others combined. Together, they have paid my bills.</p><p>In today&apos;s post, I&apos;ll explain how my most important lines of business today&#x2014;<a href="https://www.philsimon.com/services-ghostwriting/" rel="noreferrer">writing authors&apos; books</a> and <a href="https://www.philsimon.com/services-notion-development/" rel="noreferrer">building Notion tools</a>&#x2014;aren&apos;t all that dissimilar.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://www.racketpublishing.com/blog/books-and-databases/?ref=philsimon.com"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Parallels Between Books and Databases - Racket Publishing</div><small><div class="kg-bookmark-description">It turns out that the two aren&#x2019;t all that dissimilar.</div></small></div></a></figure><h2 id="a-product-at-the-end-of-the-project">A Product at the End of the Project</h2><p>I am not an executive coach or an occupational therapist. My Notion and ghostwriting clients hire me to help them accomplish a defined task. The new CRMs, bespoke event management systems, and physical books all had to meet some <a href="https://www.atlassian.com/agile/project-management/definition-of-done?ref=philsimon.com" rel="noreferrer">definition of <em>done</em></a>. </p><p>Admittedly, that simple, four-letter word can become squishy and contentious, especially on amorphous and flat-rate projects. To minimize confusion and conflict, I bill hourly. The benefits of doing so (avoiding scope creep) more than justify its minor administrative burden. (It&apos;s easy to automate time tracking in Notion.)</p><h2 id="we-followed-agile-methods">We Followed Agile Methods</h2><p>Working on ERP systems for more than a decade taught me the profound limitations of <a href="https://en.wikipedia.org/wiki/Waterfall_model?ref=philsimon.com" rel="noreferrer">Waterfall development</a>. Of course, I <em>could</em> wait until the very end of the project to show a client a new dashboard, system, or manuscript. The odds that I&apos;ll stick the landing are remote, though. </p><p>Clients see alpha versions of Notion systems and rough tables of contents. (Ah, the beauty of <a href="https://en.wikipedia.org/wiki/Scrum_(project_management)?ref=philsimon.com" rel="noreferrer">Scrum</a>.) By definition, they&apos;re not perfect. These prototypes provide invaluable directional feedback and minimize the risk of forthcoming surprises, frustration, and wasted time and money. If we&apos;re on the wrong track, we quickly find out, make necessary adjustments, and get on the same page.  </p><h2 id="mutual-learning">Mutual Learning</h2><p>The projects have varied considerably in many ways, but two things have happened on each one:</p><ol><li>I&apos;ve learned a great deal about my clients&apos; needs and areas of expertise.</li><li>They&apos;ve learned a considerable amount from me.</li></ol><p>It&apos;s fair to call the transfer of knowledge <em>symbiotic</em>. My clients wouldn&apos;t have been able to complete their projects without their input and vice versa. </p><h2 id="unanticipated-delays">Unanticipated Delays</h2><p>Never has even a medium-term engagement gone off without a hitch. At one extreme, a client vowed to follow up with me next week. I finally heard back from him a few weeks later. At the other, a ghostwriting client needed to pause her project for three months. </p><div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-emoji">&#x1F4A1;</div><div class="kg-callout-text"><b><strong style="white-space: pre-wrap;">Pro tips: </strong></b>Work backwards and build in dummy deadlines. </div></div><h2 id="a-new-respect-for-the-importance-of-process">A New Respect for the Importance of Process</h2><p>At the beginning of each project, I explain that no decision is irrevocable. Some bells, though, are harder than others to unring. Case in point: <a href="https://www.philsimon.com/on-databases-and-tattoos/" rel="noreferrer">changing database structures</a> and reorganizing book sections involves a great deal of rework. Intellectually, that statement is facile, but I make that key point several times before we sign anything. To use a housing metaphor, I ask them to triple-check if we&apos;re building a Colonial. </p><p>In a few cases, a client and I have reached the point of no return and the former has inexplicably reversed course. (&#x201C;Yeah, I want a duplex now.&#x201D;) Demolishing the foundation is expensive, and the burnt hand teaches best. </p><blockquote>
<p>If we&apos;re on the wrong track, we quickly find out and make necessary adjustments.</p>
</blockquote>
<p>Brass tacks: each of my clients has walked away with a heightened appreciation for our process. </p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://www.philsimon.com/automation-critical-thinking/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">On AI, Automation, and Critical Thinking</div><small><div class="kg-bookmark-description">Today&#x2019;s tools can build workable replacements, but always question their initial recommendations.</div></small></div></a></figure>
<!--kg-card-begin: html-->
<h2>Feedback</h2>
<!--kg-card-end: html-->
<p>Do you see parallels between different lines of your business? What say you? </p>]]></content:encoded></item><item><title><![CDATA[Early Notion Worker Lessons]]></title><description><![CDATA[What I've learned noodling with this powerful new functionality.]]></description><link>https://www.philsimon.com/early-notion-worker-lessons/</link><guid isPermaLink="false">6a466f2f18e1f60001ef4703</guid><category><![CDATA[Notion]]></category><category><![CDATA[Enterprise Systems]]></category><category><![CDATA[Claude]]></category><category><![CDATA[AI]]></category><category><![CDATA[GitHub]]></category><category><![CDATA[APIs]]></category><category><![CDATA[Automation]]></category><dc:creator><![CDATA[Phil Simon]]></dc:creator><pubDate>Thu, 02 Jul 2026 14:17:31 GMT</pubDate><media:content url="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/07/three_different_computers_connected_by.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://storage.ghost.io/c/8f/b5/8fb5e321-49a6-4cf5-8a28-c6f6d5417e54/content/images/2026/07/three_different_computers_connected_by.jpg" alt="Early Notion Worker Lessons"><p>At its recent developer conference, Notion announced a powerful new way to extend the application. Still in <a href="https://www.notion.com/help/understand-pricing-for-workers?ref=philsimon.com" rel="noreferrer">beta</a>, <a href="https://www.notion.com/help/understand-pricing-for-workershttps://developers.notion.com/workers/get-started/overview?ref=philsimon.com" rel="noreferrer">Notion Workers</a> let users do many interesting things. In the company&apos;s <a href="https://www.notion.com/product/dev?ref=philsimon.com#workers" rel="noreferrer">words</a>:</p>
<!--kg-card-begin: html-->
<p style="padding-left: 40px;">Workers are isolated sandboxes managed by Notion, so the code behind your syncs, tools, and workflows runs on our infra(structure) instead of your servers.</p>
<!--kg-card-end: html-->
<p>Most interesting to me: the ability to sync data from third-party systems. For example, say that your organization runs Salesforce as its CRM. Workers make it relatively easy to bring that data into your Notion workspace for additional analysis and tracking.</p><p>I&apos;ve spent a good deal of time noddling with the new sync capability. Claude Code helped me navigate the new <a href="https://developers.notion.com/cli/get-started/overview?ref=philsimon.com" rel="noreferrer">Notion CLI</a> and run some tests with a simple Google Sheet. In today&apos;s post, I&apos;ll share some of the things I&apos;ve learned so far.</p><p>Long story short: Workers aren&apos;t perfect, but they&apos;re remarkable. I suspect that over the next year I&apos;ll be doing more with them for my <a href="https://www.philsimon.com/services-notion-development/" rel="noreferrer">Notion clients</a>.</p><div class="kg-card kg-callout-card kg-callout-card-white"><div class="kg-callout-emoji">&#x1F916;</div><div class="kg-callout-text"><b><strong style="white-space: pre-wrap;">Disclosure:</strong></b> I used NotionAI to summarize the content below. The excessive em dashes make it obvious.</div></div><h2 id="table-of-contents">Table of Contents</h2>
<ul>
<li><a href="#project-worker-management">Project &amp; Worker Management</a>
<ul>
<li><a href="#useful-cli-reference-commands">Useful CLI Reference Commands</a></li>
<li><a href="#directory-context-matters">Directory Context Matters</a></li>
<li><a href="#finding-project-directories">Finding Project Directories</a></li>
<li><a href="#identifying-a-workers-id">Identifying a Worker&apos;s ID</a></li>
<li><a href="#renaming-a-worker">Renaming a Worker</a></li>
<li><a href="#deleting-a-duplicate-worker">Deleting a Duplicate Worker</a></li>
<li><a href="#code-reuse-across-workers">Code Reuse Across Workers</a></li>
</ul>
</li>
<li><a href="#syncing">Syncing</a>
<ul>
<li><a href="#triggering-a-manual-sync">Triggering a Manual Sync</a></li>
<li><a href="#finding-the-correct-sync-key">Finding the Correct Sync Key</a></li>
<li><a href="#diagnosing-a-sync-that-runs-but-writes-nothing">Diagnosing a Sync That Runs But Writes Nothing</a></li>
<li><a href="#diagnosing-a-runaway-sync-loop">Diagnosing a Runaway Sync Loop</a></li>
</ul>
</li>
<li><a href="#schema-data">Schema &amp; Data</a>
<ul>
<li><a href="#adding-a-new-property-to-a-synced-database">Adding a New Property to a Synced Database</a></li>
<li><a href="#changing-a-property-type">Changing a Property Type</a></li>
<li><a href="#replace-mode-only-manages-worker-created-records">Replace Mode Only Manages Worker-Created Records</a></li>
<li><a href="#identifying-read-only-vs-user-defined-properties">Identifying Read-Only vs. User-Defined Properties</a></li>
<li><a href="#two-way-sync">Two-Way Sync</a></li>
</ul>
</li>
<li><a href="#deployment-debugging">Deployment &amp; Debugging</a>
<ul>
<li><a href="#typescript-compilation-errors-during-deploy">TypeScript Compilation Errors During Deploy</a></li>
<li><a href="#debugging-failed-deploys">Debugging Failed Deploys</a></li>
</ul>
</li>
</ul>
<h2 id="project-worker-management">Project &amp; Worker Management</h2>
<h3 id="useful-cli-reference-commands">Useful CLI Reference Commands</h3>
<table>
<thead>
<tr>
<th>Command</th>
<th>Purpose</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>ntn workers list</code></td>
<td>List all Workers in the workspace</td>
</tr>
<tr>
<td><code>ntn workers capabilities list</code></td>
<td>List capabilities for the current project&apos;s Worker</td>
</tr>
<tr>
<td><code>ntn workers sync trigger &lt;key&gt;</code></td>
<td>Trigger a sync immediately</td>
</tr>
<tr>
<td><code>ntn workers sync state reset &lt;key&gt;</code></td>
<td>Clear sync state for a full re-fetch</td>
</tr>
<tr>
<td><code>ntn workers sync state get &lt;key&gt;</code></td>
<td>Inspect current sync state</td>
</tr>
<tr>
<td><code>ntn workers runs list</code></td>
<td>View recent run history and exit codes</td>
</tr>
<tr>
<td><code>ntn workers runs get &lt;run-id&gt;</code></td>
<td>Get details on a specific run</td>
</tr>
<tr>
<td><code>ntn workers delete &lt;worker-id&gt;</code></td>
<td>Delete a Worker by ID</td>
</tr>
<tr>
<td><code>ntn workers deploy</code></td>
<td>Deploy (create or update) a Worker from the current directory</td>
</tr>
</tbody>
</table>
<h3 id="directory-context-matters">Directory Context Matters</h3>
<p>The <code>ntn</code> CLI resolves the target Worker from the <code>workers.json</code> file in the current directory. Always <code>cd</code> into the correct project folder before running Worker commands. Running commands from the wrong directory targets the wrong Worker or fails entirely.</p>
<pre><code class="language-jsx">cd /Users/your_drectory
</code></pre>
<h3 id="finding-project-directories">Finding Project Directories</h3>
<p>To locate all Worker projects on your machine:</p>
<pre><code class="language-bash">find ~ -name &quot;workers.json&quot; 2&gt;/dev/null
</code></pre>
<h3 id="identifying-a-workers-id">Identifying a Worker&apos;s ID</h3>
<p>To find the Worker ID tied to a specific project directory:</p>
<pre><code class="language-bash">cat /path/to/project/workers.json
</code></pre>
<p>The <code>workerId</code> field is the canonical identifier for that Worker.</p>
<h3 id="renaming-a-worker">Renaming a Worker</h3>
<p>The CLI lacks a dedicated rename command. The display name derives from the <code>name</code> field in <code>package.json</code>. Update that field and redeploy to rename the Worker. The sync capability key &#x2014; which you define in <code>src/index.ts</code> &#x2014; is independent of the display name and continues to work without modification.</p>
<h3 id="deleting-a-duplicate-worker">Deleting a Duplicate Worker</h3>
<p>With two Workers sharing the same display name, confirm which ID belongs to the unwanted one via <code>workers.json</code>, then delete it:</p>
<pre><code class="language-bash">ntn workers delete &lt;worker-id&gt;
</code></pre>
<h3 id="code-reuse-across-workers">Code Reuse Across Workers</h3>
<p>Once you build a working Worker, save it as a GitHub repo or template. The Worker structure, deploy flow, and Notion API calls transfer to future projects. Swap out the data source and schema &#x2014; the scaffolding stays intact.</p>
<h2 id="syncing">Syncing</h2>
<h3 id="triggering-a-manual-sync">Triggering a Manual Sync</h3>
<p>To bypass the schedule and trigger a sync immediately, run the following from your Worker project directory:</p>
<pre><code class="language-bash">ntn workers sync trigger &lt;syncKey&gt;
</code></pre>
<p>The sync key is the string passed to <code>worker.sync(&quot;...&quot;)</code> in <code>src/index.ts</code> &#x2014; it may differ from the Worker&apos;s display name in the Notion UI.</p>
<h3 id="finding-the-correct-sync-key">Finding the Correct Sync Key</h3>
<p>If you don&apos;t know the sync key, run this from the project directory:</p>
<pre><code class="language-bash">ntn workers capabilities list
</code></pre>
<p>This returns the exact key and type for every registered capability.</p>
<h3 id="diagnosing-a-sync-that-runs-but-writes-nothing">Diagnosing a Sync That Runs But Writes Nothing</h3>
<p>All runs showing exit code <code>0</code> with no database changes usually means an incremental sync has recorded state and sees no new data. Reset the state to force a full re-fetch:</p>
<pre><code class="language-bash">ntn workers sync state reset &lt;syncKey&gt;
ntn workers sync trigger &lt;syncKey&gt;
</code></pre>
<h3 id="diagnosing-a-runaway-sync-loop">Diagnosing a Runaway Sync Loop</h3>
<p>If the runs list shows dozens of executions firing every few seconds, you&apos;ve set the <code>schedule</code> option in <code>src/index.ts</code> too aggressively (such as <code>&quot;continuous&quot;</code> or <code>&quot;1m&quot;</code>). Change it to <code>&quot;1h&quot;</code> (or another appropriate interval) and redeploy:</p>
<pre><code class="language-bash">ntn workers deploy
</code></pre>
<p>Left unchecked, a runaway sync burns through Worker credits rapidly.</p>
<h2 id="schema-data">Schema &amp; Data</h2>
<h3 id="adding-a-new-property-to-a-synced-database">Adding a New Property to a Synced Database</h3>
<p>Adding a column to the Google Sheet does not automatically add it to Notion. The Worker only syncs properties explicitly defined in <code>src/index.ts</code>. Two changes are required:</p>
<ol>
<li>Add the property to the schema block:</li>
</ol>
<pre><code class="language-tsx">schema: {
  properties: {
    Descr: Schema.title(),
    Code: Schema.richText(),
    NewProp: Schema.richText(), // add here
  },
},
</code></pre>
<ol>
<li>Add the property to the mapping inside <code>execute</code>:</li>
</ol>
<pre><code class="language-tsx">properties: {
  Descr: Builder.title(row[1] ?? &quot;&quot;),
  Code: Builder.richText(row[0]),
  NewProp: Builder.richText(row[2] ?? &quot;&quot;), // add here
},
</code></pre>
<p>Then redeploy and resync:</p>
<pre><code class="language-bash">ntn workers deploy
ntn workers sync state reset &lt;syncKey&gt;
ntn workers sync trigger &lt;syncKey&gt;
</code></pre>
<h3 id="changing-a-property-type">Changing a Property Type</h3>
<p>Changing a property&apos;s type in <code>src/index.ts</code> (such as from <code>Schema.richText()</code> to <code>Schema.number()</code>) does not convert the existing property in Notion. Notion keeps the original type.</p>
<p>The fix: rename the property in <code>src/index.ts</code> to force Notion to create a fresh property with the correct type. The old property remains but sits empty &#x2014; hide it from your views.</p>
<h3 id="replace-mode-only-manages-worker-created-records">Replace Mode Only Manages Worker-Created Records</h3>
<p>The Worker&apos;s <code>replace</code> mode mark-and-sweep only tracks and removes records it created. Records added manually in the Notion UI don&apos;t carry the Worker&apos;s internal tracking metadata, so the sync leaves them alone &#x2014; even if they don&apos;t exist in the external source.</p>
<p>If orphaned manual records appear in a managed database, delete them directly in Notion. They won&apos;t be cleaned up automatically.</p>
<h3 id="identifying-read-only-vs-user-defined-properties">Identifying Read-Only vs. User-Defined Properties</h3>
<p>Notion provides no visual indicator distinguishing synced (read-only) properties from user-defined ones. The reliable method: open a record and try to edit a field. Synced Worker properties are locked. User-defined properties accept edits.</p>
<p>From the code, read-only properties carry <code>readOnly: true</code> in the data source schema &#x2014; these map directly to columns in the external source. Any property you add to the Notion database outside the Worker schema (such as a Status or ID field) remains fully editable and the sync won&apos;t touch it.</p>
<h3 id="two-way-sync">Two-Way Sync</h3>
<p>Workers syncs are one-way by design: external source &#x2192; Notion. To push Notion changes back to an external source, build a second Worker using <code>worker.webhook(...)</code>. The flow:</p>
<ol>
<li>The second Worker registers a webhook endpoint and gets a URL on deploy.</li>
<li>A Notion database automation triggers on page changes and fires a POST to that URL.</li>
<li>The webhook handler reads the payload and writes the change to the external source (such as Google Sheets via its API).</li>
</ol>
<p>The Notion-side plumbing transfers to any external source. The external API client and auth (such as OAuth for Google Sheets) require rewriting per source.</p>
<h2 id="deployment-debugging">Deployment &amp; Debugging</h2>
<h3 id="typescript-compilation-errors-during-deploy">TypeScript Compilation Errors During Deploy</h3>
<p>A failed deploy (exit code 2) means the TypeScript compiler rejected the code. The error appears directly in the Terminal output when you run <code>ntn workers deploy</code>. Always read that output before troubleshooting elsewhere.</p>
<p>Common example: <code>Builder.number()</code> does not accept <code>null</code>. Use a numeric fallback instead:</p>
<pre><code class="language-tsx">// Wrong
Num: Builder.number(row[2] ? parseFloat(row[2]) : null)

// Right
Num: Builder.number(parseFloat(row[2] ?? &quot;0&quot;) || 0)
</code></pre>
<h3 id="debugging-failed-deploys">Debugging Failed Deploys</h3>
<p>Use <code>ntn workers runs list</code> to check exit codes. A deploy with exit code 2 failed &#x2014; any sync runs after it use the last successful build, not your latest code. The full error appears in the Terminal output of <code>ntn workers deploy</code> itself, not in the run logs.</p>
]]></content:encoded></item></channel></rss>