<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Eva</title>
    <description>The latest articles on DEV Community by Eva (@eva-nomados).</description>
    <link>https://dev.to/eva-nomados</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3967783%2F0e0eb0fe-0722-4417-a1ca-15cb8b28f47a.png</url>
      <title>DEV Community: Eva</title>
      <link>https://dev.to/eva-nomados</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/eva-nomados"/>
    <language>en</language>
    <item>
      <title>What I Check Before Trusting a Digital Product Automation Workflow</title>
      <dc:creator>Eva</dc:creator>
      <pubDate>Mon, 09 Nov 2026 13:00:17 +0000</pubDate>
      <link>https://dev.to/eva-nomados/what-i-check-before-trusting-a-digital-product-automation-workflow-2l67</link>
      <guid>https://dev.to/eva-nomados/what-i-check-before-trusting-a-digital-product-automation-workflow-2l67</guid>
      <description>&lt;p&gt;Getting an automation workflow to run is one thing.&lt;/p&gt;

&lt;p&gt;Trusting it to handle real orders is another.&lt;/p&gt;

&lt;p&gt;When you connect Payhip, Make, Telegram, and Notion, it's easy to focus on whether all the tools are connected. But a successful test doesn't necessarily mean the workflow is ready to handle real customers.&lt;/p&gt;

&lt;p&gt;There are a few things worth checking before relying on it.&lt;/p&gt;

&lt;p&gt;Here is the checklist I use when thinking about a digital product order workflow.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Check whether the payment event is received correctly
&lt;/h2&gt;

&lt;p&gt;The workflow starts with a purchase event from Payhip.&lt;/p&gt;

&lt;p&gt;Before moving on, check:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Does Make receive the expected event?&lt;/li&gt;
&lt;li&gt;Is the correct product identified?&lt;/li&gt;
&lt;li&gt;Is the order reference available?&lt;/li&gt;
&lt;li&gt;Does the workflow distinguish a successful purchase from other events?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Don't assume that a connected webhook means everything is working correctly.&lt;/p&gt;

&lt;p&gt;Inspect the actual data received by Make.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Make sure notifications contain useful information
&lt;/h2&gt;

&lt;p&gt;Telegram notifications are useful because you don't have to keep checking your payment dashboard.&lt;/p&gt;

&lt;p&gt;But a notification should tell you something meaningful.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Product name&lt;/li&gt;
&lt;li&gt;Order status&lt;/li&gt;
&lt;li&gt;Order reference&lt;/li&gt;
&lt;li&gt;Date of the event&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Keep the message simple.&lt;/p&gt;

&lt;p&gt;Also, avoid including sensitive customer or payment information that isn't necessary for the notification.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Keep order records organized
&lt;/h2&gt;

&lt;p&gt;A notification tells you something happened.&lt;/p&gt;

&lt;p&gt;A database helps you keep track of what happened over time.&lt;/p&gt;

&lt;p&gt;If you're using Notion to organize orders, useful fields include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Order reference&lt;/li&gt;
&lt;li&gt;Product name&lt;/li&gt;
&lt;li&gt;Order status&lt;/li&gt;
&lt;li&gt;Order date&lt;/li&gt;
&lt;li&gt;Customer reference&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One thing worth considering is duplicate events.&lt;/p&gt;

&lt;p&gt;If the same purchase event is processed more than once, you don't want to create multiple records for the same order.&lt;/p&gt;

&lt;p&gt;Using a stable order reference to identify existing records can help prevent this.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Think about what happens when something fails
&lt;/h2&gt;

&lt;p&gt;This is easy to overlook.&lt;/p&gt;

&lt;p&gt;What happens if:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Make receives incomplete data?&lt;/li&gt;
&lt;li&gt;Telegram fails to send a notification?&lt;/li&gt;
&lt;li&gt;Notion cannot create a record?&lt;/li&gt;
&lt;li&gt;The same event is received again?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A workflow shouldn't be considered reliable just because the successful path works.&lt;/p&gt;

&lt;p&gt;Check the execution history in Make and make sure you can identify where a failed operation occurred.&lt;/p&gt;

&lt;p&gt;For important steps, consider how errors should be handled and whether a failed operation needs to be retried.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Test the whole workflow, not just individual connections
&lt;/h2&gt;

&lt;p&gt;A connected Payhip account, Telegram bot, and Notion database don't automatically make a complete system.&lt;/p&gt;

&lt;p&gt;Test the process from beginning to end.&lt;/p&gt;

&lt;p&gt;Follow the actual sequence:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Generate a test purchase event.&lt;/li&gt;
&lt;li&gt;Confirm Make receives the expected information.&lt;/li&gt;
&lt;li&gt;Check that the Telegram notification is correct.&lt;/li&gt;
&lt;li&gt;Confirm the Notion record contains the expected fields.&lt;/li&gt;
&lt;li&gt;Review the execution history for errors or duplicate processing.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Only rely on the steps you've actually tested.&lt;/p&gt;

&lt;h2&gt;
  
  
  6. Keep the workflow as simple as possible
&lt;/h2&gt;

&lt;p&gt;It's tempting to add more notifications, database views, and automation scenarios.&lt;/p&gt;

&lt;p&gt;But every additional component creates something else to maintain.&lt;/p&gt;

&lt;p&gt;For a small digital product business, I'd rather start with a workflow that handles three things reliably:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Recognize an order.&lt;/li&gt;
&lt;li&gt;Notify the right person.&lt;/li&gt;
&lt;li&gt;Keep an organized record.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;More features can come later when there's a real reason to add them.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final thought
&lt;/h2&gt;

&lt;p&gt;I've spent quite a bit of time working with Payhip, Make, Telegram, and Notion.&lt;/p&gt;

&lt;p&gt;One thing I've learned is that connecting tools is only the beginning.&lt;/p&gt;

&lt;p&gt;The more important question is whether the workflow can handle the everyday situations that happen after a real customer places an order.&lt;/p&gt;

&lt;p&gt;A simple workflow you understand and can maintain is more useful than a complicated one you don't fully trust.&lt;/p&gt;

&lt;p&gt;For those building automation for digital products:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What's the one thing you always check before allowing an automation to handle real customer activity?&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;If you'd like to explore the workflow examples, the project is available here:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/Eva-311/hermes-automation-examples" rel="noopener noreferrer"&gt;NomadOS Automation Examples on GitHub&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For the complete starter system:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://payhip.com/b/2Qf94" rel="noopener noreferrer"&gt;NomadOS Core — Digital Product Automation Starter System&lt;/a&gt;&lt;/p&gt;

</description>
      <category>automation</category>
      <category>make</category>
      <category>notion</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>How to Track Digital Product Orders Without Checking Every Dashboard</title>
      <dc:creator>Eva</dc:creator>
      <pubDate>Sat, 24 Oct 2026 13:00:05 +0000</pubDate>
      <link>https://dev.to/eva-nomados/how-to-track-digital-product-orders-without-checking-every-dashboard-2499</link>
      <guid>https://dev.to/eva-nomados/how-to-track-digital-product-orders-without-checking-every-dashboard-2499</guid>
      <description>&lt;p&gt;When you sell digital products, getting a sale is only part of the workflow.&lt;/p&gt;

&lt;p&gt;You may still need to check the order, confirm delivery, notify yourself, and keep customer information organized.&lt;/p&gt;

&lt;p&gt;At first, doing this manually feels manageable. But as you add products and sales channels, information starts getting scattered across different tools.&lt;/p&gt;

&lt;p&gt;A lightweight workflow can make this easier without building a custom backend.&lt;/p&gt;

&lt;h2&gt;
  
  
  The workflow
&lt;/h2&gt;

&lt;p&gt;For a simple digital product business, you can connect four tools:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Payhip&lt;/strong&gt; — handles digital product sales.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Make&lt;/strong&gt; — connects the different steps.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Telegram&lt;/strong&gt; — sends order notifications.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Notion&lt;/strong&gt; — keeps customer and order information organized.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The basic flow looks like this:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Payhip → Make → Telegram + Notion&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;A purchase triggers the workflow. Make processes the available order information, sends a notification to Telegram, and records the relevant information in Notion.&lt;/p&gt;

&lt;p&gt;The exact setup depends on the event data and connections available in your accounts.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1: Start with the order event
&lt;/h2&gt;

&lt;p&gt;First, identify the event that should start your workflow.&lt;/p&gt;

&lt;p&gt;For a digital product business, that might be a successful purchase event received through a Payhip webhook.&lt;/p&gt;

&lt;p&gt;Before adding more automation, verify that the event is actually received by Make. Check the execution history and inspect the available data.&lt;/p&gt;

&lt;p&gt;This gives you a clear starting point for troubleshooting if something goes wrong.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: Send a Telegram notification
&lt;/h2&gt;

&lt;p&gt;Next, use Make to send yourself a Telegram message when the relevant event is processed.&lt;/p&gt;

&lt;p&gt;Keep the notification simple. Useful information might include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Product name&lt;/li&gt;
&lt;li&gt;Order status&lt;/li&gt;
&lt;li&gt;Order reference, if available&lt;/li&gt;
&lt;li&gt;A link to the relevant order record, if you have one&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The goal is not to reproduce your entire sales dashboard in Telegram. It is to help you notice important events without repeatedly opening different platforms.&lt;/p&gt;

&lt;p&gt;Avoid including unnecessary personal or payment-sensitive information in notifications.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3: Record the order in Notion
&lt;/h2&gt;

&lt;p&gt;A notification tells you something happened. A structured database helps you keep track of what happened over time.&lt;/p&gt;

&lt;p&gt;You can create a Notion database with fields such as:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Property&lt;/th&gt;
&lt;th&gt;Purpose&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Order reference&lt;/td&gt;
&lt;td&gt;Identify the order&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Product&lt;/td&gt;
&lt;td&gt;Record what was purchased&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Order status&lt;/td&gt;
&lt;td&gt;Track the current state&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Date&lt;/td&gt;
&lt;td&gt;Record when the event occurred&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Customer reference&lt;/td&gt;
&lt;td&gt;Connect the order to a customer record&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Use only the fields available from your event or account. You may need to map the incoming data to your Notion properties.&lt;/p&gt;

&lt;p&gt;If the same event can be processed more than once, consider how you will identify duplicate records. An order reference can help when it is available and reliable.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 4: Test the workflow before relying on it
&lt;/h2&gt;

&lt;p&gt;Do not assume a successful test in one module means the whole workflow works.&lt;/p&gt;

&lt;p&gt;Run a test and check each part:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Did Make receive the expected event?&lt;/li&gt;
&lt;li&gt;Was the Telegram notification delivered?&lt;/li&gt;
&lt;li&gt;Was the Notion record created correctly?&lt;/li&gt;
&lt;li&gt;Does the stored information match the original event?&lt;/li&gt;
&lt;li&gt;What happens if a step fails or the event is processed again?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;A small end-to-end test is more useful than adding more modules before the basic flow is reliable.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 5: Keep the system simple
&lt;/h2&gt;

&lt;p&gt;It is tempting to automate every possible task immediately. But every additional branch, integration, and notification creates something else to maintain.&lt;/p&gt;

&lt;p&gt;Start with one reliable workflow. Add more only when a recurring problem justifies the extra complexity.&lt;/p&gt;

&lt;p&gt;For example, you might later add delivery checks or customer follow-ups, provided those steps fit your actual selling process and can be tested properly.&lt;/p&gt;

&lt;p&gt;The objective is not to automate everything. It is to remove repetitive work without creating a system that takes more time to maintain than the manual process.&lt;/p&gt;

&lt;h2&gt;
  
  
  Want a starting point?
&lt;/h2&gt;

&lt;p&gt;I’m building NomadOS Core around this kind of practical workflow for digital product creators and indie hackers.&lt;/p&gt;

&lt;p&gt;It connects Payhip, Make, Telegram, and Notion, with automation templates and a setup guide for getting started.&lt;/p&gt;

&lt;p&gt;If you want to explore the system, you can find the details here:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://payhip.com/b/2Qf94" rel="noopener noreferrer"&gt;NomadOS Core — Digital Product Automation Starter System&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You can also browse the open-source workflow examples on &lt;a href="https://github.com/Eva-311/hermes-automation-examples" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The most useful automation is the one that solves a real operational problem and remains easy to understand when something goes wrong.&lt;/p&gt;

</description>
      <category>automation</category>
      <category>make</category>
      <category>notion</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>I Built the Automation Before I Solved the Traffic Paoblem</title>
      <dc:creator>Eva</dc:creator>
      <pubDate>Tue, 20 Oct 2026 12:11:46 +0000</pubDate>
      <link>https://dev.to/eva-nomados/i-built-the-automation-before-i-solved-the-traffic-paoblem-add</link>
      <guid>https://dev.to/eva-nomados/i-built-the-automation-before-i-solved-the-traffic-paoblem-add</guid>
      <description>&lt;h1&gt;
  
  
  I Built the Automation Before I Solved the Traffic Problem
&lt;/h1&gt;

&lt;p&gt;When I started building my digital product system, I spent a lot of time connecting tools.&lt;/p&gt;

&lt;p&gt;Payhip handled payments and product delivery. Make connected the workflows. Telegram handled notifications. Notion kept things organized.&lt;/p&gt;

&lt;p&gt;The technical side was interesting. Every time a workflow worked, it felt like progress.&lt;/p&gt;

&lt;p&gt;But then I had to face a less exciting question:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How do people actually find the product?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A working payment flow doesn't bring visitors by itself. Automated delivery doesn't create demand. And a well-organized database doesn't tell you whether anyone wants what you're selling.&lt;/p&gt;

&lt;p&gt;I realized I had spent a lot of time improving the system behind the business before proving that enough people cared about the product.&lt;/p&gt;

&lt;p&gt;I'm still working on that part.&lt;/p&gt;

&lt;p&gt;Instead of adding more features, I'm trying to focus on a few basic things:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Publishing useful content where the right people already spend time.&lt;/li&gt;
&lt;li&gt;Making the free resources genuinely useful.&lt;/li&gt;
&lt;li&gt;Tracking whether readers move from an article to the repository or product page.&lt;/li&gt;
&lt;li&gt;Learning from actual user behavior instead of guessing what to build next.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It's a different kind of work from building automations, and honestly, it's harder to measure progress.&lt;/p&gt;

&lt;p&gt;But it may be the more important work right now.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;For those of you building small products: how do you balance improving the product with spending enough time getting it in front of people?&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>indiehackers</category>
      <category>buildinpublic</category>
      <category>entrepreneurship</category>
      <category>productivity</category>
    </item>
    <item>
      <title>How to Debug a 429 Rate Limit Error in Make.com</title>
      <dc:creator>Eva</dc:creator>
      <pubDate>Sun, 18 Oct 2026 14:30:06 +0000</pubDate>
      <link>https://dev.to/eva-nomados/how-to-debug-a-429-rate-limit-error-in-makecom-38f1</link>
      <guid>https://dev.to/eva-nomados/how-to-debug-a-429-rate-limit-error-in-makecom-38f1</guid>
      <description>&lt;h1&gt;
  
  
  How to Debug a 429 Rate Limit Error in Make.com
&lt;/h1&gt;

&lt;p&gt;I ran into a frustrating issue with a Make.com workflow recently.&lt;/p&gt;

&lt;p&gt;The scenario was working through most of its steps without any problems. The webhook received the data, Notion created a database item, Telegram sent a message, and the JSON module completed successfully.&lt;/p&gt;

&lt;p&gt;Then the HTTP module failed.&lt;/p&gt;

&lt;p&gt;The error was:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;429 Too Many Requests&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The API response also included:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;You have exceeded your current request limit.&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;I was using Alibaba Cloud's Qwen-Turbo model through its API. The first instinct might be to change the API configuration or rebuild the scenario, but neither should be the first move.&lt;/p&gt;

&lt;p&gt;Here's how I approached the problem.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Find the module that actually failed
&lt;/h2&gt;

&lt;p&gt;When a Make scenario fails, don't assume the entire workflow is broken.&lt;/p&gt;

&lt;p&gt;Open the scenario's execution history and inspect the latest failed run.&lt;/p&gt;

&lt;p&gt;Look at each module's execution status. In my case, the webhook, Notion, Telegram, and JSON modules had all completed successfully. The HTTP module was the first one to fail.&lt;/p&gt;

&lt;p&gt;That immediately narrowed the investigation.&lt;/p&gt;

&lt;p&gt;There's no reason to rebuild working modules when the failure is isolated to one API request.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Read the actual API error
&lt;/h2&gt;

&lt;p&gt;The HTTP module showed a rate-limit error, so I checked the API provider's request logs.&lt;/p&gt;

&lt;p&gt;The response included:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;HTTP status: &lt;code&gt;429&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Error code: &lt;code&gt;limit_requests&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Error message: &lt;code&gt;You have exceeded your current request limit.&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Model: &lt;code&gt;qwen-turbo&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This was much more useful than simply seeing a red error icon in Make.&lt;/p&gt;

&lt;p&gt;A 429 response generally indicates that a service is refusing a request because a usage or request limit has been reached. The exact limit can vary by provider, model, account, and service configuration.&lt;/p&gt;

&lt;p&gt;The important thing is to read the provider's error details rather than guessing.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Stop replaying the failed run
&lt;/h2&gt;

&lt;p&gt;It's tempting to click Replay every time a scenario fails.&lt;/p&gt;

&lt;p&gt;But if the API is still rate-limiting requests, repeatedly replaying the same run may only produce more failures.&lt;/p&gt;

&lt;p&gt;I stopped retrying while investigating the issue.&lt;/p&gt;

&lt;p&gt;This also helps avoid unnecessary API calls and makes it easier to tell whether new requests are still arriving from another source.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Check for other sources of API traffic
&lt;/h2&gt;

&lt;p&gt;A rate limit isn't always caused by the scenario you're looking at.&lt;/p&gt;

&lt;p&gt;Other Make scenarios, local scripts, or applications may be using the same model or account.&lt;/p&gt;

&lt;p&gt;I would check:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Whether other scenarios call the same API.&lt;/li&gt;
&lt;li&gt;Whether a local application is making requests in the background.&lt;/li&gt;
&lt;li&gt;Whether multiple workflows can run at the same time.&lt;/li&gt;
&lt;li&gt;Whether the provider's logs show new requests after the scenario is paused.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Don't assume that every request in the provider's logs came from the scenario you're debugging.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Add retries carefully
&lt;/h2&gt;

&lt;p&gt;Retries can help with temporary rate limits, but an immediate retry loop can make the problem worse.&lt;/p&gt;

&lt;p&gt;A safer approach is to use delayed retries with increasing wait times, for example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;First retry: wait 10 seconds.&lt;/li&gt;
&lt;li&gt;Second retry: wait 30 seconds.&lt;/li&gt;
&lt;li&gt;Third retry: wait 60 seconds.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These are starting points, not universal settings. The appropriate delay depends on the provider's limits and any retry guidance in its response headers or documentation.&lt;/p&gt;

&lt;p&gt;For persistent quota limits, waiting and retrying won't solve the underlying problem. You need to inspect the account or model quota instead.&lt;/p&gt;

&lt;p&gt;Also make sure failed runs don't trigger an uncontrolled chain of duplicate requests.&lt;/p&gt;

&lt;h2&gt;
  
  
  6. Change only what the evidence supports
&lt;/h2&gt;

&lt;p&gt;After identifying the failing module, I avoid changing the model, API endpoint, request body, and credentials all at once.&lt;/p&gt;

&lt;p&gt;Changing several things simultaneously makes it harder to identify the actual cause.&lt;/p&gt;

&lt;p&gt;Instead, I check the specific limit reported by the provider, make one targeted adjustment, and test again.&lt;/p&gt;

&lt;p&gt;If the API request succeeds, I then verify that the downstream modules receive the expected response.&lt;/p&gt;

&lt;h2&gt;
  
  
  A simple debugging checklist
&lt;/h2&gt;

&lt;p&gt;When an API request fails in Make.com, I now work through this order:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open the failed execution.&lt;/li&gt;
&lt;li&gt;Identify the first module that failed.&lt;/li&gt;
&lt;li&gt;Read the complete error response.&lt;/li&gt;
&lt;li&gt;Check the API provider's request logs.&lt;/li&gt;
&lt;li&gt;Pause repeated requests while investigating.&lt;/li&gt;
&lt;li&gt;Check for concurrent traffic and usage limits.&lt;/li&gt;
&lt;li&gt;Make one targeted change.&lt;/li&gt;
&lt;li&gt;Run a controlled test and verify the downstream steps.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The biggest lesson for me is that a failed automation doesn't always need more complexity.&lt;/p&gt;

&lt;p&gt;Sometimes the fastest fix is to stop changing things, find the first failing step, and read what the service is actually telling you.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How do you usually handle API rate limits in your automation workflows? Do you use delayed retries, a queue, or another approach?&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>make</category>
      <category>automation</category>
      <category>ai</category>
      <category>webdev</category>
    </item>
    <item>
      <title>How to Test a Make.com Webhook Workflow Before Going Live</title>
      <dc:creator>Eva</dc:creator>
      <pubDate>Sun, 11 Oct 2026 14:19:25 +0000</pubDate>
      <link>https://dev.to/eva-nomados/how-to-test-a-makecom-webhook-workflow-before-going-live-k8m</link>
      <guid>https://dev.to/eva-nomados/how-to-test-a-makecom-webhook-workflow-before-going-live-k8m</guid>
      <description>&lt;p&gt;I've learned that getting a Make.com scenario to run once doesn't necessarily mean it's ready for real use.&lt;/p&gt;

&lt;p&gt;A webhook can receive a test request, the next module can run successfully, and the data can appear in the right place. Everything looks fine.&lt;/p&gt;

&lt;p&gt;Then a real event arrives with a missing field, an unexpected value, or a slightly different payload, and the workflow behaves differently than expected.&lt;/p&gt;

&lt;p&gt;Before relying on a webhook automation, I like to test a few things beyond the happy path.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Start With a Known Test Payload
&lt;/h2&gt;

&lt;p&gt;First, send a simple test request through the webhook.&lt;/p&gt;

&lt;p&gt;Use realistic sample data rather than empty or random values. For example, if you're testing an order notification workflow, include fields such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Order ID&lt;/li&gt;
&lt;li&gt;Product name&lt;/li&gt;
&lt;li&gt;Customer email&lt;/li&gt;
&lt;li&gt;Order status&lt;/li&gt;
&lt;li&gt;Purchase timestamp&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The exact fields depend on your workflow.&lt;/p&gt;

&lt;p&gt;In Make, open the scenario, run it in a controlled test, and inspect the output bundle from the webhook module.&lt;/p&gt;

&lt;p&gt;Check that the values arrived as expected and that the following modules can access the fields they need.&lt;/p&gt;

&lt;p&gt;One small detail worth checking: a field that exists in one test payload may be missing from another. Don't assume every incoming request will have exactly the same structure.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Check What Happens When a Field Is Missing
&lt;/h2&gt;

&lt;p&gt;Next, test an incomplete payload.&lt;/p&gt;

&lt;p&gt;For example, send a request without an optional customer name or product description.&lt;/p&gt;

&lt;p&gt;Ask yourself:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Does the scenario stop unexpectedly?&lt;/li&gt;
&lt;li&gt;Does a message get sent with blank or confusing information?&lt;/li&gt;
&lt;li&gt;Does the next module reject the request?&lt;/li&gt;
&lt;li&gt;Can the workflow still complete safely?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Not every field needs to be mandatory. The important thing is to decide which fields are required and what should happen when they're absent.&lt;/p&gt;

&lt;p&gt;For customer-facing messages, I'd rather show a sensible fallback than send a notification full of empty values.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Test Duplicate Events
&lt;/h2&gt;

&lt;p&gt;Webhooks can sometimes deliver the same event more than once, depending on the sending system and how retries work.&lt;/p&gt;

&lt;p&gt;For an order workflow, that could mean duplicate notifications or repeated records.&lt;/p&gt;

&lt;p&gt;Try sending the same test event twice.&lt;/p&gt;

&lt;p&gt;If the scenario creates duplicate results, consider whether you need a unique event ID, an order ID check, or another idempotency mechanism.&lt;/p&gt;

&lt;p&gt;The right solution depends on the source system and how the workflow is designed. Simply adding a delay won't reliably prevent duplicates.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Test the Failure Path
&lt;/h2&gt;

&lt;p&gt;A useful test isn't only one where everything works.&lt;/p&gt;

&lt;p&gt;Check what happens when a downstream module fails, a connection needs attention, or a request doesn't contain the expected data.&lt;/p&gt;

&lt;p&gt;In Make, inspect the scenario's execution history and review the relevant module output and error details.&lt;/p&gt;

&lt;p&gt;Depending on the workflow, you may need error handling, a notification to yourself, or a way to retry failed operations safely.&lt;/p&gt;

&lt;p&gt;Avoid assuming that every failure should trigger an automatic retry. If an operation has already succeeded but its response was lost, retrying it without checking the outcome may create duplicate actions.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Verify the Final Result
&lt;/h2&gt;

&lt;p&gt;Don't stop when the scenario shows a successful execution.&lt;/p&gt;

&lt;p&gt;Check the destination too.&lt;/p&gt;

&lt;p&gt;If the workflow sends a Telegram notification, confirm that the message arrived and that the content is correct.&lt;/p&gt;

&lt;p&gt;If it writes to Notion, open the database and verify that the record contains the expected values.&lt;/p&gt;

&lt;p&gt;If it triggers another service, check that service rather than relying only on the previous module's status.&lt;/p&gt;

&lt;p&gt;The goal is to confirm the complete result, not just that the scenario started.&lt;/p&gt;

&lt;h2&gt;
  
  
  6. Use a Small Go-Live Checklist
&lt;/h2&gt;

&lt;p&gt;Before switching a workflow into regular use, I would check these items:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;[ ] A normal test payload works.&lt;/li&gt;
&lt;li&gt;[ ] Required and optional fields behave as expected.&lt;/li&gt;
&lt;li&gt;[ ] Missing fields don't create misleading output.&lt;/li&gt;
&lt;li&gt;[ ] Duplicate events have been considered.&lt;/li&gt;
&lt;li&gt;[ ] Failures are visible and can be investigated.&lt;/li&gt;
&lt;li&gt;[ ] The final destination contains the correct result.&lt;/li&gt;
&lt;li&gt;[ ] The workflow has been tested with realistic data.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You don't need a complicated testing framework for every small automation. Even a short checklist can catch issues that are easy to miss when you're focused on getting the scenario running.&lt;/p&gt;

&lt;h2&gt;
  
  
  One Last Thing
&lt;/h2&gt;

&lt;p&gt;I've been trying to keep my own automation workflows small enough to understand and maintain.&lt;/p&gt;

&lt;p&gt;It's tempting to add more modules whenever a new requirement appears. But before expanding a scenario, I want to know that the existing workflow handles normal requests, unexpected input, and failures in a predictable way.&lt;/p&gt;

&lt;p&gt;A workflow that runs once is a good start. A workflow you can troubleshoot when something goes wrong is much more useful.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What's the most common issue you've run into when testing webhook automations?&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>automation</category>
      <category>nocode</category>
      <category>make</category>
      <category>webhooks</category>
    </item>
    <item>
      <title>I Built the Automation Before I Understood the Problem</title>
      <dc:creator>Eva</dc:creator>
      <pubDate>Sun, 27 Sep 2026 14:10:28 +0000</pubDate>
      <link>https://dev.to/eva-nomados/i-built-the-automation-before-i-understood-the-problem-4h94</link>
      <guid>https://dev.to/eva-nomados/i-built-the-automation-before-i-understood-the-problem-4h94</guid>
      <description>&lt;p&gt;When I started building my digital product automation system, I thought I knew what I was doing.&lt;/p&gt;

&lt;p&gt;I had a simple idea.&lt;/p&gt;

&lt;p&gt;A customer buys something.&lt;/p&gt;

&lt;p&gt;The system should handle the repetitive work automatically.&lt;/p&gt;

&lt;p&gt;So I started connecting things.&lt;/p&gt;

&lt;p&gt;Payhip for the purchase.&lt;/p&gt;

&lt;p&gt;Make for the workflow.&lt;/p&gt;

&lt;p&gt;Telegram for notifications.&lt;/p&gt;

&lt;p&gt;Notion for tracking.&lt;/p&gt;

&lt;p&gt;Later, MailerLite for email follow-up.&lt;/p&gt;

&lt;p&gt;The individual pieces weren't particularly difficult.&lt;/p&gt;

&lt;p&gt;Getting them to work together was the interesting part.&lt;/p&gt;

&lt;p&gt;And I enjoyed it.&lt;/p&gt;

&lt;p&gt;Probably a little too much.&lt;/p&gt;

&lt;p&gt;I kept finding things to automate&lt;/p&gt;

&lt;p&gt;Once the first workflow worked, I started seeing more opportunities.&lt;/p&gt;

&lt;p&gt;"Maybe I should automate this too."&lt;/p&gt;

&lt;p&gt;Then another thing.&lt;/p&gt;

&lt;p&gt;Then another.&lt;/p&gt;

&lt;p&gt;Before long, I had workflows handling things that weren't actually causing me much manual work.&lt;/p&gt;

&lt;p&gt;Technically, they worked.&lt;/p&gt;

&lt;p&gt;But that wasn't the right question.&lt;/p&gt;

&lt;p&gt;The better question was:&lt;/p&gt;

&lt;p&gt;Was the automation actually solving a problem?&lt;/p&gt;

&lt;p&gt;Sometimes the answer was no.&lt;/p&gt;

&lt;p&gt;The part I underestimated&lt;/p&gt;

&lt;p&gt;When you build a workflow yourself, it's easy to focus on whether the workflow works.&lt;/p&gt;

&lt;p&gt;Does the webhook fire?&lt;/p&gt;

&lt;p&gt;Does Make receive the data?&lt;/p&gt;

&lt;p&gt;Does the Telegram message arrive?&lt;/p&gt;

&lt;p&gt;Does Notion get updated?&lt;/p&gt;

&lt;p&gt;Does the email get sent?&lt;/p&gt;

&lt;p&gt;If all of those are working, it feels like you've built something useful.&lt;/p&gt;

&lt;p&gt;But there's another layer.&lt;/p&gt;

&lt;p&gt;Does this process happen often enough to justify automating it?&lt;/p&gt;

&lt;p&gt;Do I actually understand the process yet?&lt;/p&gt;

&lt;p&gt;What happens when the input isn't what I expected?&lt;/p&gt;

&lt;p&gt;What happens when a real customer does something I didn't anticipate?&lt;/p&gt;

&lt;p&gt;Those questions only became obvious after I started using the system.&lt;/p&gt;

&lt;p&gt;Some problems only appeared later&lt;/p&gt;

&lt;p&gt;One thing I learned from working with webhooks is that the data you expect isn't always the data you receive.&lt;/p&gt;

&lt;p&gt;A test payload can look perfect.&lt;/p&gt;

&lt;p&gt;Then a real event comes in with a missing field or a slightly different value.&lt;/p&gt;

&lt;p&gt;A workflow that looked completely reliable suddenly needs another check.&lt;/p&gt;

&lt;p&gt;The same thing happens with business processes.&lt;/p&gt;

&lt;p&gt;You can design the workflow in your head.&lt;/p&gt;

&lt;p&gt;But real usage tends to find the parts you didn't think about.&lt;/p&gt;

&lt;p&gt;That's one reason I'm less interested in automating a process before I've used it manually.&lt;/p&gt;

&lt;p&gt;Manual work isn't always wasted time.&lt;/p&gt;

&lt;p&gt;Sometimes it's how you learn what the automation actually needs to handle.&lt;/p&gt;

&lt;p&gt;I changed how I build workflows&lt;/p&gt;

&lt;p&gt;I used to start with:&lt;/p&gt;

&lt;p&gt;"How can I automate this?"&lt;/p&gt;

&lt;p&gt;Now I usually start with:&lt;/p&gt;

&lt;p&gt;"How does this process actually work?"&lt;/p&gt;

&lt;p&gt;I'll run it manually.&lt;/p&gt;

&lt;p&gt;I'll see where I repeat myself.&lt;/p&gt;

&lt;p&gt;I'll notice where things go wrong.&lt;/p&gt;

&lt;p&gt;I'll see which steps are predictable.&lt;/p&gt;

&lt;p&gt;Then I'll decide what is worth automating.&lt;/p&gt;

&lt;p&gt;This sounds slower.&lt;/p&gt;

&lt;p&gt;In practice, it can save a lot of rebuilding later.&lt;/p&gt;

&lt;p&gt;A simple example&lt;/p&gt;

&lt;p&gt;Imagine a digital product order.&lt;/p&gt;

&lt;p&gt;The manual process might be:&lt;/p&gt;

&lt;p&gt;Customer buys&lt;/p&gt;

&lt;p&gt;↓&lt;/p&gt;

&lt;p&gt;Check the order&lt;/p&gt;

&lt;p&gt;↓&lt;/p&gt;

&lt;p&gt;Deliver the product&lt;/p&gt;

&lt;p&gt;↓&lt;/p&gt;

&lt;p&gt;Record the customer&lt;/p&gt;

&lt;p&gt;↓&lt;/p&gt;

&lt;p&gt;Send a notification&lt;/p&gt;

&lt;p&gt;↓&lt;/p&gt;

&lt;p&gt;Follow up later&lt;/p&gt;

&lt;p&gt;I don't necessarily need to automate every one of those steps immediately.&lt;/p&gt;

&lt;p&gt;Maybe the first useful automation is simply:&lt;/p&gt;

&lt;p&gt;Customer buys&lt;/p&gt;

&lt;p&gt;↓&lt;/p&gt;

&lt;p&gt;Payhip event&lt;/p&gt;

&lt;p&gt;↓&lt;/p&gt;

&lt;p&gt;Make&lt;/p&gt;

&lt;p&gt;↓&lt;/p&gt;

&lt;p&gt;Record order&lt;/p&gt;

&lt;p&gt;↓&lt;/p&gt;

&lt;p&gt;Telegram notification&lt;/p&gt;

&lt;p&gt;That's already useful.&lt;/p&gt;

&lt;p&gt;After using it for a while, I might discover that customer follow-up is becoming repetitive.&lt;/p&gt;

&lt;p&gt;Then I have a real reason to automate that part too.&lt;/p&gt;

&lt;p&gt;This changed how I think about NomadOS&lt;/p&gt;

&lt;p&gt;NomadOS started as an automation project.&lt;/p&gt;

&lt;p&gt;But the more I build it, the more I think the important part isn't the automation itself.&lt;/p&gt;

&lt;p&gt;It's the decisions around the automation.&lt;/p&gt;

&lt;p&gt;What should be automated?&lt;/p&gt;

&lt;p&gt;What should stay manual?&lt;/p&gt;

&lt;p&gt;Where should the data live?&lt;/p&gt;

&lt;p&gt;What happens when something fails?&lt;/p&gt;

&lt;p&gt;How much maintenance is reasonable?&lt;/p&gt;

&lt;p&gt;When should a workflow be split into smaller workflows?&lt;/p&gt;

&lt;p&gt;Those questions are harder than connecting two services.&lt;/p&gt;

&lt;p&gt;They're also much closer to the problems I actually want NomadOS to help with.&lt;/p&gt;

&lt;p&gt;What I'm doing differently now&lt;/p&gt;

&lt;p&gt;I try to keep each workflow responsible for one clear thing.&lt;/p&gt;

&lt;p&gt;I validate important data before doing something irreversible.&lt;/p&gt;

&lt;p&gt;I think about duplicate events.&lt;/p&gt;

&lt;p&gt;I add logging when I need to understand what happened.&lt;/p&gt;

&lt;p&gt;And I try not to add another automation just because I can.&lt;/p&gt;

&lt;p&gt;The last one is probably the hardest.&lt;/p&gt;

&lt;p&gt;There's always another integration you can add.&lt;/p&gt;

&lt;p&gt;There isn't always a reason to add it.&lt;/p&gt;

&lt;p&gt;The lesson I'm taking from this&lt;/p&gt;

&lt;p&gt;I still like building automation.&lt;/p&gt;

&lt;p&gt;I still think it can remove a lot of repetitive work for a small business.&lt;/p&gt;

&lt;p&gt;But I don't want to build automation for the sake of having more automation.&lt;/p&gt;

&lt;p&gt;I'd rather have three workflows that I understand than fifteen workflows that I have to babysit.&lt;/p&gt;

&lt;p&gt;That's probably the biggest change in how I've been building NomadOS.&lt;/p&gt;

&lt;p&gt;Build the process first.&lt;/p&gt;

&lt;p&gt;Understand the problem.&lt;/p&gt;

&lt;p&gt;Then automate the part that is actually worth automating.&lt;/p&gt;

&lt;p&gt;I'm still learning this as I go, but it's already changed the way I build my workflows.&lt;/p&gt;

</description>
      <category>automation</category>
      <category>nocode</category>
      <category>make</category>
      <category>indiehacking</category>
    </item>
    <item>
      <title>I Built the Automation Before I Had Enough Customers</title>
      <dc:creator>Eva</dc:creator>
      <pubDate>Sun, 20 Sep 2026 13:00:07 +0000</pubDate>
      <link>https://dev.to/eva-nomados/i-built-the-automation-before-i-had-enough-customers-ajk</link>
      <guid>https://dev.to/eva-nomados/i-built-the-automation-before-i-had-enough-customers-ajk</guid>
      <description>&lt;p&gt;I made a mistake while building my digital product business.&lt;/p&gt;

&lt;p&gt;I built the automation before I had enough customers to need it.&lt;/p&gt;

&lt;p&gt;At first, this felt like the right thing to do.&lt;/p&gt;

&lt;p&gt;I was using Payhip to sell digital products.&lt;/p&gt;

&lt;p&gt;Make was handling the workflows.&lt;/p&gt;

&lt;p&gt;Telegram was useful for notifications.&lt;/p&gt;

&lt;p&gt;Notion was where I wanted to keep track of orders and customers.&lt;/p&gt;

&lt;p&gt;Later, I added email automation as well.&lt;/p&gt;

&lt;p&gt;The architecture started looking pretty nice.&lt;/p&gt;

&lt;p&gt;Payhip&lt;br&gt;
↓&lt;br&gt;
Make&lt;br&gt;
↓&lt;br&gt;
Notion&lt;br&gt;
↓&lt;br&gt;
Telegram&lt;br&gt;
↓&lt;br&gt;
Email follow-up&lt;/p&gt;

&lt;p&gt;Everything had a place.&lt;/p&gt;

&lt;p&gt;And then I realized something.&lt;/p&gt;

&lt;p&gt;There weren't that many orders.&lt;/p&gt;

&lt;p&gt;So why was I spending so much time maintaining the system?&lt;/p&gt;

&lt;h2&gt;
  
  
  The problem wasn't the automation
&lt;/h2&gt;

&lt;p&gt;The workflows themselves were not the problem.&lt;/p&gt;

&lt;p&gt;Most of them worked.&lt;/p&gt;

&lt;p&gt;The problem was that I was building for a future version of the business.&lt;/p&gt;

&lt;p&gt;I kept thinking:&lt;/p&gt;

&lt;p&gt;"What if I get more orders?"&lt;/p&gt;

&lt;p&gt;"What if I need another notification?"&lt;/p&gt;

&lt;p&gt;"What if I want to track another field?"&lt;/p&gt;

&lt;p&gt;"What if I add another product?"&lt;/p&gt;

&lt;p&gt;Those are reasonable questions.&lt;/p&gt;

&lt;p&gt;But when you're still trying to get people to actually find and buy your product, they can become distractions.&lt;/p&gt;

&lt;p&gt;I could spend an hour improving an automation that might save me ten minutes a week.&lt;/p&gt;

&lt;p&gt;That doesn't make much sense.&lt;/p&gt;

&lt;h2&gt;
  
  
  I started looking at automation differently
&lt;/h2&gt;

&lt;p&gt;Before building a new workflow now, I try to ask a few basic questions.&lt;/p&gt;

&lt;p&gt;Does this happen often?&lt;/p&gt;

&lt;p&gt;Is the process predictable?&lt;/p&gt;

&lt;p&gt;Am I doing it manually often enough that it annoys me?&lt;/p&gt;

&lt;p&gt;What happens if the automation fails?&lt;/p&gt;

&lt;p&gt;And probably the most useful question:&lt;/p&gt;

&lt;p&gt;Would I build this if my business stayed small for the next few months?&lt;/p&gt;

&lt;p&gt;That last question has stopped me from building quite a few things.&lt;/p&gt;

&lt;h2&gt;
  
  
  A smaller workflow is often easier
&lt;/h2&gt;

&lt;p&gt;For example, digital product delivery is a pretty good automation candidate.&lt;/p&gt;

&lt;p&gt;A customer buys something.&lt;/p&gt;

&lt;p&gt;The same type of event happens again.&lt;/p&gt;

&lt;p&gt;The delivery process is predictable.&lt;/p&gt;

&lt;p&gt;There isn't much value in manually checking every order.&lt;/p&gt;

&lt;p&gt;So automating that makes sense.&lt;/p&gt;

&lt;p&gt;But something that happens once every few weeks?&lt;/p&gt;

&lt;p&gt;I might just do it manually.&lt;/p&gt;

&lt;p&gt;It's not worth creating another workflow, another webhook, another database field and another thing to debug.&lt;/p&gt;

&lt;h2&gt;
  
  
  I also learned something about maintenance
&lt;/h2&gt;

&lt;p&gt;This was the part I underestimated.&lt;/p&gt;

&lt;p&gt;When you connect several services together, you don't just create an automation.&lt;/p&gt;

&lt;p&gt;You create dependencies.&lt;/p&gt;

&lt;p&gt;A webhook can change.&lt;/p&gt;

&lt;p&gt;A field can be missing.&lt;/p&gt;

&lt;p&gt;An API can return something unexpected.&lt;/p&gt;

&lt;p&gt;A workflow can run twice.&lt;/p&gt;

&lt;p&gt;A database can have a different structure than you expected.&lt;/p&gt;

&lt;p&gt;None of this is particularly scary.&lt;/p&gt;

&lt;p&gt;But every additional workflow adds another thing you eventually have to understand.&lt;/p&gt;

&lt;p&gt;That's why I'm becoming much more conservative about adding automation.&lt;/p&gt;

&lt;p&gt;I'm not trying to build the biggest workflow anymore.&lt;/p&gt;

&lt;p&gt;I'm trying to build the smallest one that solves the problem.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I'm doing now
&lt;/h2&gt;

&lt;p&gt;My current approach is pretty simple.&lt;/p&gt;

&lt;p&gt;Build one workflow.&lt;/p&gt;

&lt;p&gt;Use it.&lt;/p&gt;

&lt;p&gt;See if it actually saves time.&lt;/p&gt;

&lt;p&gt;Leave it alone for a while.&lt;/p&gt;

&lt;p&gt;Only then decide whether another automation is necessary.&lt;/p&gt;

&lt;p&gt;This is also changing how I'm building NomadOS.&lt;/p&gt;

&lt;p&gt;Instead of asking:&lt;/p&gt;

&lt;p&gt;"What else can I automate?"&lt;/p&gt;

&lt;p&gt;I'm trying to ask:&lt;/p&gt;

&lt;p&gt;"What repetitive problem am I actually having right now?"&lt;/p&gt;

&lt;p&gt;That question is much more useful.&lt;/p&gt;

&lt;p&gt;I'm still figuring this out, so I'm curious about other people's experience.&lt;/p&gt;

&lt;p&gt;Have you ever built an automation that turned out to be more work than the manual process it replaced?&lt;/p&gt;

</description>
      <category>automation</category>
      <category>nocode</category>
      <category>make</category>
      <category>indiehacking</category>
    </item>
    <item>
      <title>How to Handle Webhook Errors in Make.com</title>
      <dc:creator>Eva</dc:creator>
      <pubDate>Sun, 13 Sep 2026 13:00:12 +0000</pubDate>
      <link>https://dev.to/eva-nomados/how-to-handle-webhook-errors-in-makecom-4ahl</link>
      <guid>https://dev.to/eva-nomados/how-to-handle-webhook-errors-in-makecom-4ahl</guid>
      <description>&lt;p&gt;Webhooks are one of the easiest ways to connect different tools with Make.com.&lt;/p&gt;

&lt;p&gt;They are also one of the easiest places for an automation workflow to break.&lt;/p&gt;

&lt;p&gt;A webhook may receive incomplete data.&lt;/p&gt;

&lt;p&gt;A field may have a different format than expected.&lt;/p&gt;

&lt;p&gt;Another service may return an error.&lt;/p&gt;

&lt;p&gt;Or the workflow may simply stop because one step didn't receive what it expected.&lt;/p&gt;

&lt;p&gt;I've run into this several times while building digital product automation workflows.&lt;/p&gt;

&lt;p&gt;Over time, I've started using a simple approach to make webhook-based workflows easier to debug and maintain.&lt;/p&gt;

&lt;p&gt;Start by checking the webhook data&lt;/p&gt;

&lt;p&gt;When something goes wrong, don't immediately change the whole workflow.&lt;/p&gt;

&lt;p&gt;First, look at what the webhook actually received.&lt;/p&gt;

&lt;p&gt;A typical workflow might look like this:&lt;/p&gt;

&lt;p&gt;Payhip&lt;br&gt;
↓&lt;br&gt;
Webhook&lt;br&gt;
↓&lt;br&gt;
Make&lt;br&gt;
↓&lt;br&gt;
Process data&lt;br&gt;
↓&lt;br&gt;
Notion / Telegram / HTTP&lt;/p&gt;

&lt;p&gt;The first question should be:&lt;/p&gt;

&lt;p&gt;Did Make receive the data correctly?&lt;/p&gt;

&lt;p&gt;If the webhook didn't receive the expected information, changing later modules won't solve the problem.&lt;/p&gt;

&lt;p&gt;This sounds obvious, but it's an easy step to skip.&lt;/p&gt;

&lt;p&gt;Check the actual fields&lt;/p&gt;

&lt;p&gt;A webhook may receive much more information than you expect.&lt;/p&gt;

&lt;p&gt;For example, an order event might contain:&lt;/p&gt;

&lt;p&gt;Customer information&lt;/p&gt;

&lt;p&gt;Product information&lt;/p&gt;

&lt;p&gt;Order information&lt;/p&gt;

&lt;p&gt;Payment information&lt;/p&gt;

&lt;p&gt;Timestamps&lt;/p&gt;

&lt;p&gt;Transaction IDs&lt;/p&gt;

&lt;p&gt;Instead of assuming that every field will always exist, check the actual webhook output.&lt;/p&gt;

&lt;p&gt;Look for the fields your workflow really needs.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;p&gt;Customer email&lt;/p&gt;

&lt;p&gt;Product name&lt;/p&gt;

&lt;p&gt;Order ID&lt;/p&gt;

&lt;p&gt;Payment status&lt;/p&gt;

&lt;p&gt;If one of these fields is missing, the next module may fail.&lt;/p&gt;

&lt;p&gt;Don't assume the data will always be the same&lt;/p&gt;

&lt;p&gt;One important lesson I've learned is that external data is not always predictable.&lt;/p&gt;

&lt;p&gt;For example, you might expect:&lt;/p&gt;

&lt;p&gt;Product name&lt;/p&gt;

&lt;p&gt;But sometimes an API or webhook may return:&lt;/p&gt;

&lt;p&gt;Product title&lt;/p&gt;

&lt;p&gt;Or the value may be empty.&lt;/p&gt;

&lt;p&gt;Your workflow should be designed with this possibility in mind.&lt;/p&gt;

&lt;p&gt;This is especially important when connecting several different services.&lt;/p&gt;

&lt;p&gt;The more services you connect, the more likely it is that their data structures will be slightly different.&lt;/p&gt;

&lt;p&gt;Validate important data before continuing&lt;/p&gt;

&lt;p&gt;For important workflows, I prefer to validate the data before performing the next action.&lt;/p&gt;

&lt;p&gt;The basic idea is:&lt;/p&gt;

&lt;p&gt;Webhook&lt;br&gt;
↓&lt;br&gt;
Receive data&lt;br&gt;
↓&lt;br&gt;
Check required fields&lt;br&gt;
↓&lt;br&gt;
Continue if valid&lt;br&gt;
↓&lt;br&gt;
Perform action&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;p&gt;Webhook&lt;br&gt;
↓&lt;br&gt;
Check order ID&lt;br&gt;
↓&lt;br&gt;
Check customer email&lt;br&gt;
↓&lt;br&gt;
Check product&lt;br&gt;
↓&lt;br&gt;
Create order record&lt;/p&gt;

&lt;p&gt;This is safer than immediately sending everything to another service.&lt;/p&gt;

&lt;p&gt;If the data is incomplete, you can stop the workflow before creating a bad record.&lt;/p&gt;

&lt;p&gt;Don't make every error a complete failure&lt;/p&gt;

&lt;p&gt;Another useful idea is separating important actions from optional actions.&lt;/p&gt;

&lt;p&gt;Imagine this workflow:&lt;/p&gt;

&lt;p&gt;Payhip&lt;br&gt;
↓&lt;br&gt;
Make&lt;br&gt;
↓&lt;br&gt;
Create order record&lt;br&gt;
↓&lt;br&gt;
Send Telegram notification&lt;br&gt;
↓&lt;br&gt;
Send customer email&lt;/p&gt;

&lt;p&gt;What happens if Telegram is temporarily unavailable?&lt;/p&gt;

&lt;p&gt;The order itself shouldn't necessarily be considered a failure.&lt;/p&gt;

&lt;p&gt;The most important operation may be recording the order.&lt;/p&gt;

&lt;p&gt;The Telegram notification may be secondary.&lt;/p&gt;

&lt;p&gt;Thinking about priorities like this makes automation systems much easier to maintain.&lt;/p&gt;

&lt;p&gt;Add logging&lt;/p&gt;

&lt;p&gt;When a workflow works perfectly, you don't think much about logging.&lt;/p&gt;

&lt;p&gt;When something breaks three days later, logging suddenly becomes very important.&lt;/p&gt;

&lt;p&gt;A simple log can help answer questions like:&lt;/p&gt;

&lt;p&gt;What happened?&lt;/p&gt;

&lt;p&gt;When did it happen?&lt;/p&gt;

&lt;p&gt;Which order triggered it?&lt;/p&gt;

&lt;p&gt;Which module failed?&lt;/p&gt;

&lt;p&gt;What data was received?&lt;/p&gt;

&lt;p&gt;Without this information, debugging often becomes guesswork.&lt;/p&gt;

&lt;p&gt;For a small automation, even a simple Notion database or spreadsheet can be enough for basic logging.&lt;/p&gt;

&lt;p&gt;Be careful with retries&lt;/p&gt;

&lt;p&gt;Retries can be useful.&lt;/p&gt;

&lt;p&gt;But retries can also create duplicate actions.&lt;/p&gt;

&lt;p&gt;Imagine a workflow receives an order and creates a record.&lt;/p&gt;

&lt;p&gt;The next step fails.&lt;/p&gt;

&lt;p&gt;The workflow runs again.&lt;/p&gt;

&lt;p&gt;Now you might accidentally create the same order twice.&lt;/p&gt;

&lt;p&gt;This is why unique identifiers are important.&lt;/p&gt;

&lt;p&gt;For example, an order ID can be used to determine whether the order has already been processed.&lt;/p&gt;

&lt;p&gt;The basic idea is:&lt;/p&gt;

&lt;p&gt;New event&lt;br&gt;
↓&lt;br&gt;
Check order ID&lt;br&gt;
↓&lt;br&gt;
Already processed?&lt;br&gt;
→ Yes: stop&lt;br&gt;
→ No: continue&lt;/p&gt;

&lt;p&gt;This simple check can prevent many duplicate records.&lt;/p&gt;

&lt;p&gt;Keep error handling simple&lt;/p&gt;

&lt;p&gt;It's tempting to build a complicated error-handling system immediately.&lt;/p&gt;

&lt;p&gt;I don't recommend doing that.&lt;/p&gt;

&lt;p&gt;Start with the most common failure cases.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;p&gt;Missing customer email&lt;/p&gt;

&lt;p&gt;Missing order ID&lt;/p&gt;

&lt;p&gt;Invalid data&lt;/p&gt;

&lt;p&gt;API timeout&lt;/p&gt;

&lt;p&gt;Service unavailable&lt;/p&gt;

&lt;p&gt;Duplicate event&lt;/p&gt;

&lt;p&gt;Handle these first.&lt;/p&gt;

&lt;p&gt;You can always add more protection later.&lt;/p&gt;

&lt;p&gt;Avoid adding unnecessary branches&lt;/p&gt;

&lt;p&gt;Another mistake is creating too many branches in a workflow.&lt;/p&gt;

&lt;p&gt;A workflow can quickly become difficult to understand:&lt;/p&gt;

&lt;p&gt;Webhook&lt;br&gt;
↓&lt;br&gt;
Router&lt;br&gt;
↓&lt;br&gt;
Condition A&lt;br&gt;
↓&lt;br&gt;
Router&lt;br&gt;
↓&lt;br&gt;
Condition B&lt;br&gt;
↓&lt;br&gt;
HTTP&lt;br&gt;
↓&lt;br&gt;
Router&lt;br&gt;
↓&lt;br&gt;
Telegram&lt;br&gt;
↓&lt;br&gt;
Router&lt;br&gt;
↓&lt;br&gt;
Notion&lt;/p&gt;

&lt;p&gt;At some point, the workflow becomes harder to maintain than the original manual process.&lt;/p&gt;

&lt;p&gt;A simpler structure is often better.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;p&gt;Webhook&lt;br&gt;
↓&lt;br&gt;
Validate&lt;br&gt;
↓&lt;br&gt;
Process&lt;br&gt;
↓&lt;br&gt;
Record&lt;br&gt;
↓&lt;br&gt;
Notify&lt;/p&gt;

&lt;p&gt;The goal isn't to create the most sophisticated workflow.&lt;/p&gt;

&lt;p&gt;The goal is to create one that keeps working.&lt;/p&gt;

&lt;p&gt;Test with real examples&lt;/p&gt;

&lt;p&gt;Testing with one example isn't always enough.&lt;/p&gt;

&lt;p&gt;Try different situations.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;p&gt;Successful order&lt;/p&gt;

&lt;p&gt;Different product&lt;/p&gt;

&lt;p&gt;Missing optional field&lt;/p&gt;

&lt;p&gt;Duplicate event&lt;/p&gt;

&lt;p&gt;Failed API request&lt;/p&gt;

&lt;p&gt;Unexpected data&lt;/p&gt;

&lt;p&gt;This helps reveal problems before real customers encounter them.&lt;/p&gt;

&lt;p&gt;I also recommend keeping test data clearly separated from real customer data whenever possible.&lt;/p&gt;

&lt;p&gt;Design for failure&lt;/p&gt;

&lt;p&gt;One of the biggest changes in how I think about automation is this:&lt;/p&gt;

&lt;p&gt;Don't design only for the happy path.&lt;/p&gt;

&lt;p&gt;A workflow that works perfectly when everything goes right isn't necessarily a reliable workflow.&lt;/p&gt;

&lt;p&gt;Real systems have:&lt;/p&gt;

&lt;p&gt;Network problems&lt;/p&gt;

&lt;p&gt;API errors&lt;/p&gt;

&lt;p&gt;Missing data&lt;/p&gt;

&lt;p&gt;Duplicate events&lt;/p&gt;

&lt;p&gt;Temporary service outages&lt;/p&gt;

&lt;p&gt;Unexpected inputs&lt;/p&gt;

&lt;p&gt;A maintainable automation should have at least some idea of what happens when things go wrong.&lt;/p&gt;

&lt;p&gt;When should you rebuild a workflow?&lt;/p&gt;

&lt;p&gt;Not every error means the workflow needs to be rebuilt.&lt;/p&gt;

&lt;p&gt;If one module fails occasionally, you may only need better validation or error handling.&lt;/p&gt;

&lt;p&gt;If the workflow has become extremely difficult to understand, however, it may be time to simplify it.&lt;/p&gt;

&lt;p&gt;A useful question is:&lt;/p&gt;

&lt;p&gt;Can I understand what this workflow does by looking at it for a few minutes?&lt;/p&gt;

&lt;p&gt;If the answer is no, the workflow may have become too complicated.&lt;/p&gt;

&lt;p&gt;My simple debugging process&lt;/p&gt;

&lt;p&gt;When one of my Make.com workflows stops working, I usually go through these steps:&lt;/p&gt;

&lt;p&gt;Check the webhook output&lt;br&gt;
Find the first module that failed&lt;br&gt;
Check the input data&lt;br&gt;
Check the output data&lt;br&gt;
Look for missing or unexpected fields&lt;br&gt;
Check whether the external service returned an error&lt;br&gt;
Check for duplicate events&lt;br&gt;
Fix the smallest possible problem&lt;br&gt;
Run another test&lt;br&gt;
Only rebuild the workflow if the structure itself is the problem&lt;/p&gt;

&lt;p&gt;This approach is much faster than randomly changing multiple modules at once.&lt;/p&gt;

&lt;p&gt;The bigger lesson&lt;/p&gt;

&lt;p&gt;Webhook automation isn't difficult because connecting two tools is complicated.&lt;/p&gt;

&lt;p&gt;The difficult part is dealing with everything that happens when the data isn't exactly what you expected.&lt;/p&gt;

&lt;p&gt;That's why I now think about automation in three parts:&lt;/p&gt;

&lt;p&gt;Input&lt;/p&gt;

&lt;p&gt;What data did I receive?&lt;/p&gt;

&lt;p&gt;Process&lt;/p&gt;

&lt;p&gt;What should the workflow do with it?&lt;/p&gt;

&lt;p&gt;Output&lt;/p&gt;

&lt;p&gt;What should happen after the process finishes?&lt;/p&gt;

&lt;p&gt;Then I add one more question:&lt;/p&gt;

&lt;p&gt;What happens if something goes wrong?&lt;/p&gt;

&lt;p&gt;That question can make a big difference.&lt;/p&gt;

&lt;p&gt;Final thoughts&lt;/p&gt;

&lt;p&gt;Automation should remove repetitive work.&lt;/p&gt;

&lt;p&gt;But a workflow that constantly breaks, creates duplicates, or requires manual debugging can become another source of work.&lt;/p&gt;

&lt;p&gt;That's why I prefer simple workflows with clear responsibilities, basic validation, useful logging, and straightforward error handling.&lt;/p&gt;

&lt;p&gt;You don't need to build a perfect automation system.&lt;/p&gt;

&lt;p&gt;You need to build one that you can understand, test, and maintain.&lt;/p&gt;

&lt;p&gt;**Automate repetitive work.&lt;/p&gt;

&lt;p&gt;Don't automate complexity just because you can.**&lt;/p&gt;

&lt;p&gt;I'm also collecting reusable digital product automation workflows and examples on GitHub.&lt;/p&gt;

&lt;p&gt;You can find them here:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/Eva-311/hermes-automation-examples" rel="noopener noreferrer"&gt;https://github.com/Eva-311/hermes-automation-examples&lt;/a&gt;&lt;/p&gt;

</description>
      <category>automation</category>
      <category>nocode</category>
      <category>make</category>
      <category>webhooks</category>
    </item>
    <item>
      <title>How to Build Maintainable Make.com Automation Workflows</title>
      <dc:creator>Eva</dc:creator>
      <pubDate>Thu, 10 Sep 2026 13:00:30 +0000</pubDate>
      <link>https://dev.to/eva-nomados/how-to-build-maintainable-makecom-automation-workflows-4b3o</link>
      <guid>https://dev.to/eva-nomados/how-to-build-maintainable-makecom-automation-workflows-4b3o</guid>
      <description>&lt;p&gt;Automation is easy to start.&lt;/p&gt;

&lt;p&gt;Maintenance is the part that usually gets harder.&lt;/p&gt;

&lt;p&gt;When I first started building automation workflows, my main question was:&lt;/p&gt;

&lt;p&gt;"Can I automate this?"&lt;/p&gt;

&lt;p&gt;Later, I started asking a different question:&lt;/p&gt;

&lt;p&gt;"Will I still want to maintain this workflow six months from now?"&lt;/p&gt;

&lt;p&gt;That second question changed how I design automations.&lt;/p&gt;

&lt;p&gt;Here's the approach I'm using now.&lt;/p&gt;

&lt;h2&gt;
  
  
  Start with one clear responsibility
&lt;/h2&gt;

&lt;p&gt;A common mistake is trying to make one Make.com scenario do everything.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;p&gt;Webhook → Check payment → Send email → Send Telegram notification → Update Notion → Create customer record → Send follow-up → Update analytics&lt;/p&gt;

&lt;p&gt;It looks efficient.&lt;/p&gt;

&lt;p&gt;But as the workflow grows, it becomes harder to understand what each part is responsible for.&lt;/p&gt;

&lt;p&gt;I prefer to start with one clear purpose.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;p&gt;Payment → Validate order → Record order&lt;/p&gt;

&lt;p&gt;Then another workflow can handle notifications.&lt;/p&gt;

&lt;p&gt;And another one can handle follow-up.&lt;/p&gt;

&lt;p&gt;The goal is not to minimize the number of scenarios.&lt;/p&gt;

&lt;p&gt;The goal is to minimize unnecessary complexity inside each scenario.&lt;/p&gt;

&lt;h2&gt;
  
  
  Give each tool a specific job
&lt;/h2&gt;

&lt;p&gt;One of the simplest ways to keep an automation maintainable is to give each service a clear responsibility.&lt;/p&gt;

&lt;p&gt;For example, in my digital product workflow:&lt;/p&gt;

&lt;p&gt;Payhip → Transaction → Make&lt;/p&gt;

&lt;p&gt;From Make, the workflow can branch into:&lt;/p&gt;

&lt;p&gt;Telegram → Notification&lt;/p&gt;

&lt;p&gt;Notion → Order record&lt;/p&gt;

&lt;p&gt;Payhip handles the transaction.&lt;/p&gt;

&lt;p&gt;Make handles the workflow logic.&lt;/p&gt;

&lt;p&gt;Telegram handles notifications.&lt;/p&gt;

&lt;p&gt;Notion stores operational data.&lt;/p&gt;

&lt;p&gt;This makes debugging much easier.&lt;/p&gt;

&lt;p&gt;If a notification doesn't arrive, I know where to look.&lt;/p&gt;

&lt;p&gt;If an order isn't recorded, I can check the Notion branch.&lt;/p&gt;

&lt;p&gt;If the trigger doesn't happen, I start with the payment event.&lt;/p&gt;

&lt;p&gt;Clear responsibilities reduce the number of places you need to investigate.&lt;/p&gt;

&lt;h2&gt;
  
  
  Validate data before doing anything important
&lt;/h2&gt;

&lt;p&gt;Another problem I encountered was assuming that incoming data would always look exactly as expected.&lt;/p&gt;

&lt;p&gt;It usually does.&lt;/p&gt;

&lt;p&gt;Until it doesn't.&lt;/p&gt;

&lt;p&gt;A webhook might contain:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;missing fields&lt;/li&gt;
&lt;li&gt;unexpected values&lt;/li&gt;
&lt;li&gt;empty customer information&lt;/li&gt;
&lt;li&gt;different product data&lt;/li&gt;
&lt;li&gt;duplicated events&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So I prefer to validate important data early.&lt;/p&gt;

&lt;p&gt;Conceptually:&lt;/p&gt;

&lt;p&gt;Trigger → Validate → Process → Action&lt;/p&gt;

&lt;p&gt;Instead of:&lt;/p&gt;

&lt;p&gt;Trigger → Action → Action → Action → Something fails&lt;/p&gt;

&lt;p&gt;A small validation step can prevent much bigger problems later.&lt;/p&gt;

&lt;h2&gt;
  
  
  Don't duplicate logic everywhere
&lt;/h2&gt;

&lt;p&gt;Imagine you have several workflows that need to determine whether an order is valid.&lt;/p&gt;

&lt;p&gt;If every workflow implements the logic differently, maintenance becomes difficult.&lt;/p&gt;

&lt;p&gt;One workflow might check:&lt;/p&gt;

&lt;p&gt;status = paid&lt;/p&gt;

&lt;p&gt;Another might check:&lt;/p&gt;

&lt;p&gt;payment_status = completed&lt;/p&gt;

&lt;p&gt;And another might simply assume the webhook means the payment succeeded.&lt;/p&gt;

&lt;p&gt;Now you have three different interpretations of the same event.&lt;/p&gt;

&lt;p&gt;Reusable logic and consistent data structures make automation systems much easier to reason about.&lt;/p&gt;

&lt;h2&gt;
  
  
  Logging is part of the workflow
&lt;/h2&gt;

&lt;p&gt;One thing I think is often overlooked is logging.&lt;/p&gt;

&lt;p&gt;When an automation works, you don't think about it.&lt;/p&gt;

&lt;p&gt;When it fails at 2 AM, you suddenly want to know:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What triggered it?&lt;/li&gt;
&lt;li&gt;What data did it receive?&lt;/li&gt;
&lt;li&gt;Which step failed?&lt;/li&gt;
&lt;li&gt;Was the customer affected?&lt;/li&gt;
&lt;li&gt;Did the order get recorded?&lt;/li&gt;
&lt;li&gt;Did the notification get sent?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A simple log can make these questions much easier to answer.&lt;/p&gt;

&lt;p&gt;For example, a basic order log could contain:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Order ID&lt;/li&gt;
&lt;li&gt;Customer&lt;/li&gt;
&lt;li&gt;Product&lt;/li&gt;
&lt;li&gt;Timestamp&lt;/li&gt;
&lt;li&gt;Status&lt;/li&gt;
&lt;li&gt;Error&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You don't necessarily need a complicated monitoring platform.&lt;/p&gt;

&lt;p&gt;Sometimes a structured record in Notion or another database is enough for a small business.&lt;/p&gt;

&lt;h2&gt;
  
  
  Design for failure
&lt;/h2&gt;

&lt;p&gt;An automation that works only when everything goes perfectly isn't really finished.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;p&gt;Payhip → Make → Notion&lt;/p&gt;

&lt;p&gt;What happens if Notion is temporarily unavailable?&lt;/p&gt;

&lt;p&gt;Or if the incoming data is incomplete?&lt;/p&gt;

&lt;p&gt;Or if the same event is received twice?&lt;/p&gt;

&lt;p&gt;These situations should be considered during the design stage.&lt;/p&gt;

&lt;p&gt;For a small workflow, this doesn't need to become an enterprise engineering project.&lt;/p&gt;

&lt;p&gt;But at minimum, I want to know:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;What can fail?&lt;/li&gt;
&lt;li&gt;How will I notice?&lt;/li&gt;
&lt;li&gt;Can the workflow be safely retried?&lt;/li&gt;
&lt;li&gt;Could a retry create duplicate data?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;These questions become increasingly important as the number of customers grows.&lt;/p&gt;

&lt;h2&gt;
  
  
  Avoid unnecessary branches
&lt;/h2&gt;

&lt;p&gt;Make.com makes it very easy to keep adding routers, filters, conditions, and modules.&lt;/p&gt;

&lt;p&gt;That's useful.&lt;/p&gt;

&lt;p&gt;But it's also dangerous.&lt;/p&gt;

&lt;p&gt;Every additional branch creates another thing to understand later.&lt;/p&gt;

&lt;p&gt;Before adding another condition, I now ask:&lt;/p&gt;

&lt;p&gt;"Does this remove meaningful manual work?"&lt;/p&gt;

&lt;p&gt;If the answer is no, I probably don't need it yet.&lt;/p&gt;

&lt;p&gt;This has helped me avoid building automation just because the tool makes it possible.&lt;/p&gt;

&lt;h2&gt;
  
  
  Keep the workflow readable
&lt;/h2&gt;

&lt;p&gt;A workflow should be understandable by someone who didn't build it yesterday.&lt;/p&gt;

&lt;p&gt;I like using simple names for important modules.&lt;/p&gt;

&lt;p&gt;Instead of names such as:&lt;/p&gt;

&lt;p&gt;HTTP 4&lt;/p&gt;

&lt;p&gt;Notion 7&lt;/p&gt;

&lt;p&gt;Telegram Bot 16&lt;/p&gt;

&lt;p&gt;Router 3&lt;/p&gt;

&lt;p&gt;use names such as:&lt;/p&gt;

&lt;p&gt;Validate Order&lt;/p&gt;

&lt;p&gt;Create Order Record&lt;/p&gt;

&lt;p&gt;Send Telegram Notification&lt;/p&gt;

&lt;p&gt;Handle Failed Order&lt;/p&gt;

&lt;p&gt;Six months later, these names matter.&lt;/p&gt;

&lt;p&gt;Good naming is a small thing, but it reduces cognitive load when debugging.&lt;/p&gt;

&lt;h2&gt;
  
  
  When should you split a workflow?
&lt;/h2&gt;

&lt;p&gt;I don't think there's one universal rule.&lt;/p&gt;

&lt;p&gt;But a useful signal is when one workflow starts having several unrelated responsibilities.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;p&gt;Order Processing → Customer Management → Email Marketing → Analytics → Support&lt;/p&gt;

&lt;p&gt;At that point, I would consider splitting the system into smaller workflows.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;p&gt;Workflow 1: Payment → Order Record&lt;/p&gt;

&lt;p&gt;Workflow 2: Payment → Telegram Notification&lt;/p&gt;

&lt;p&gt;Workflow 3: Customer → Email Follow-up&lt;/p&gt;

&lt;p&gt;The exact architecture depends on the business.&lt;/p&gt;

&lt;p&gt;The important thing is that each workflow should have a reason to exist.&lt;/p&gt;

&lt;h2&gt;
  
  
  My current rule for automation
&lt;/h2&gt;

&lt;p&gt;I've started using a simple rule:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Automate repetitive work.&lt;/p&gt;

&lt;p&gt;Don't automate complexity just because you can.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This sounds obvious, but it's surprisingly easy to forget.&lt;/p&gt;

&lt;p&gt;Every automation has a maintenance cost.&lt;/p&gt;

&lt;p&gt;You have to understand it.&lt;/p&gt;

&lt;p&gt;You have to debug it.&lt;/p&gt;

&lt;p&gt;You have to update it when another service changes.&lt;/p&gt;

&lt;p&gt;You have to know what happens when something goes wrong.&lt;/p&gt;

&lt;p&gt;So the best automation isn't necessarily the one with the most modules.&lt;/p&gt;

&lt;p&gt;It's the one that removes meaningful repetitive work while remaining understandable.&lt;/p&gt;

&lt;h2&gt;
  
  
  A simple architecture to start with
&lt;/h2&gt;

&lt;p&gt;For a digital product business, a small system could look like this:&lt;/p&gt;

&lt;p&gt;Customer → Payhip → Purchase Event → Make&lt;/p&gt;

&lt;p&gt;From Make:&lt;/p&gt;

&lt;p&gt;Notion → Order Record&lt;/p&gt;

&lt;p&gt;Telegram → Notification&lt;/p&gt;

&lt;p&gt;Start there.&lt;/p&gt;

&lt;p&gt;Then add another workflow only when you have a real reason.&lt;/p&gt;

&lt;p&gt;Maybe you need customer follow-up.&lt;/p&gt;

&lt;p&gt;Maybe you need lead capture.&lt;/p&gt;

&lt;p&gt;Maybe you need analytics.&lt;/p&gt;

&lt;p&gt;Add it when the manual work becomes a problem.&lt;/p&gt;

&lt;p&gt;Not before.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final thoughts
&lt;/h2&gt;

&lt;p&gt;The biggest lesson I've learned from building automation systems is that the difficult part isn't connecting tools.&lt;/p&gt;

&lt;p&gt;It's designing a system that you won't regret maintaining later.&lt;/p&gt;

&lt;p&gt;Make.com gives you a lot of flexibility.&lt;/p&gt;

&lt;p&gt;That's powerful.&lt;/p&gt;

&lt;p&gt;But flexibility also means it's easy to build something much more complicated than you actually need.&lt;/p&gt;

&lt;p&gt;So now I try to optimize for three things:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Clarity.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Reliability.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Maintainability.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If an automation can save time without becoming another system I have to constantly babysit, that's a good automation.&lt;/p&gt;

&lt;p&gt;That's the standard I'm trying to build toward.&lt;/p&gt;

&lt;h2&gt;
  
  
  More Automation Examples
&lt;/h2&gt;

&lt;p&gt;I'm also collecting reusable digital product automation workflows and examples on GitHub.&lt;/p&gt;

&lt;p&gt;You can find them here:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/Eva-311/hermes-automation-examples" rel="noopener noreferrer"&gt;Hermes Digital Product Automation Library&lt;/a&gt;&lt;/p&gt;

</description>
      <category>automation</category>
      <category>nocode</category>
      <category>make</category>
      <category>indiehacking</category>
    </item>
    <item>
      <title>Why Automation Creates More Work - And How to Avoid It</title>
      <dc:creator>Eva</dc:creator>
      <pubDate>Sun, 06 Sep 2026 13:12:00 +0000</pubDate>
      <link>https://dev.to/eva-nomados/why-automation-creates-more-work-and-how-to-avoid-it-3l37</link>
      <guid>https://dev.to/eva-nomados/why-automation-creates-more-work-and-how-to-avoid-it-3l37</guid>
      <description>&lt;p&gt;Automation is supposed to save time.&lt;/p&gt;

&lt;p&gt;But sometimes it does the opposite.&lt;/p&gt;

&lt;p&gt;You start with one simple workflow.&lt;/p&gt;

&lt;p&gt;Then you add another trigger.&lt;/p&gt;

&lt;p&gt;Then another action.&lt;/p&gt;

&lt;p&gt;Then an exception.&lt;/p&gt;

&lt;p&gt;Then an error handler.&lt;/p&gt;

&lt;p&gt;Then a notification.&lt;/p&gt;

&lt;p&gt;Then another tool to monitor everything.&lt;/p&gt;

&lt;p&gt;Eventually, you realize something:&lt;/p&gt;

&lt;p&gt;You didn't remove work.&lt;/p&gt;

&lt;p&gt;You created a system that needs to be maintained.&lt;/p&gt;

&lt;p&gt;I've run into this problem while building automation workflows for a digital product business.&lt;/p&gt;

&lt;p&gt;And it changed the way I think about automation.&lt;/p&gt;

&lt;h2&gt;
  
  
  The automation trap
&lt;/h2&gt;

&lt;p&gt;A simple workflow might look like this:&lt;/p&gt;

&lt;p&gt;Customer buys a product&lt;br&gt;
→ Product is delivered&lt;br&gt;
→ Order is recorded&lt;/p&gt;

&lt;p&gt;That's useful.&lt;/p&gt;

&lt;p&gt;Then you think:&lt;/p&gt;

&lt;p&gt;"Why not notify me on Telegram too?"&lt;/p&gt;

&lt;p&gt;So you add Telegram.&lt;/p&gt;

&lt;p&gt;Then:&lt;/p&gt;

&lt;p&gt;"Why not track the customer in Notion?"&lt;/p&gt;

&lt;p&gt;So you add Notion.&lt;/p&gt;

&lt;p&gt;Then:&lt;/p&gt;

&lt;p&gt;"Why not send a follow-up email?"&lt;/p&gt;

&lt;p&gt;So you add an email platform.&lt;/p&gt;

&lt;p&gt;Then:&lt;/p&gt;

&lt;p&gt;"Why not automatically tag the customer?"&lt;/p&gt;

&lt;p&gt;Another step.&lt;/p&gt;

&lt;p&gt;Then:&lt;/p&gt;

&lt;p&gt;"Why not add an AI decision?"&lt;/p&gt;

&lt;p&gt;Another module.&lt;/p&gt;

&lt;p&gt;None of these ideas are necessarily bad.&lt;/p&gt;

&lt;p&gt;The problem is that every additional step creates another dependency.&lt;/p&gt;

&lt;h2&gt;
  
  
  More automation means more things to maintain
&lt;/h2&gt;

&lt;p&gt;This is the part that's easy to overlook.&lt;/p&gt;

&lt;p&gt;Suppose your workflow uses:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Payhip&lt;/li&gt;
&lt;li&gt;Make&lt;/li&gt;
&lt;li&gt;Telegram&lt;/li&gt;
&lt;li&gt;Notion&lt;/li&gt;
&lt;li&gt;an email platform&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now you have several systems that need to keep working together.&lt;/p&gt;

&lt;p&gt;If one API changes, your workflow may break.&lt;/p&gt;

&lt;p&gt;If a webhook fails, an order may not be recorded.&lt;/p&gt;

&lt;p&gt;If a Telegram connection expires, notifications may stop.&lt;/p&gt;

&lt;p&gt;If your Notion database changes, the automation may fail.&lt;/p&gt;

&lt;p&gt;The automation itself becomes a small software system.&lt;/p&gt;

&lt;p&gt;And software systems need maintenance.&lt;/p&gt;

&lt;h2&gt;
  
  
  The mistake I used to make
&lt;/h2&gt;

&lt;p&gt;My instinct was to automate anything that looked repetitive.&lt;/p&gt;

&lt;p&gt;That sounds reasonable.&lt;/p&gt;

&lt;p&gt;But repetitive doesn't automatically mean worth automating.&lt;/p&gt;

&lt;p&gt;For example, imagine a task takes 30 seconds and happens twice a month.&lt;/p&gt;

&lt;p&gt;Automating it might take two hours.&lt;/p&gt;

&lt;p&gt;That's not really automation.&lt;/p&gt;

&lt;p&gt;That's just moving the work somewhere else.&lt;/p&gt;

&lt;p&gt;A better question is:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;How often does this happen, and how expensive is it when I do it manually?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That changes the decision.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I automate now
&lt;/h2&gt;

&lt;p&gt;I try to prioritize three types of tasks.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Repetitive tasks
&lt;/h3&gt;

&lt;p&gt;If I perform the same action over and over again, automation makes sense.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;p&gt;Customer buys a product&lt;br&gt;
→ Record the order&lt;br&gt;
→ Send a notification&lt;/p&gt;

&lt;p&gt;That's a predictable workflow.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Event-driven tasks
&lt;/h3&gt;

&lt;p&gt;I also prefer workflows that start because something actually happened.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;p&gt;Payment received&lt;br&gt;
→ Start workflow&lt;/p&gt;

&lt;p&gt;This is better than constantly checking whether something happened.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Tasks where mistakes are expensive
&lt;/h3&gt;

&lt;p&gt;Some manual tasks are simple but easy to forget.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;recording an order&lt;/li&gt;
&lt;li&gt;sending a notification&lt;/li&gt;
&lt;li&gt;updating customer status&lt;/li&gt;
&lt;li&gt;delivering a digital product&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If missing one of these creates a real problem, automation can be valuable.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I don't automate
&lt;/h2&gt;

&lt;p&gt;I try not to automate things just because they are possible.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;complex workflows used only occasionally&lt;/li&gt;
&lt;li&gt;processes that require frequent human judgment&lt;/li&gt;
&lt;li&gt;tasks that are faster to do manually&lt;/li&gt;
&lt;li&gt;workflows with too many dependencies&lt;/li&gt;
&lt;li&gt;systems that I don't fully understand&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This last one is particularly important.&lt;/p&gt;

&lt;p&gt;If I can't explain what a workflow does in a few sentences, it's probably too complicated.&lt;/p&gt;

&lt;h2&gt;
  
  
  Start with one workflow
&lt;/h2&gt;

&lt;p&gt;One of the best changes I made was simply starting smaller.&lt;/p&gt;

&lt;p&gt;Instead of trying to build an entire automated business at once, I started with one workflow:&lt;/p&gt;

&lt;p&gt;Payhip&lt;br&gt;
↓&lt;br&gt;
Make&lt;br&gt;
↓&lt;br&gt;
Telegram&lt;br&gt;
↓&lt;br&gt;
Notion&lt;/p&gt;

&lt;p&gt;A purchase happens.&lt;/p&gt;

&lt;p&gt;The automation processes it.&lt;/p&gt;

&lt;p&gt;The order gets recorded.&lt;/p&gt;

&lt;p&gt;I receive a notification.&lt;/p&gt;

&lt;p&gt;That's enough.&lt;/p&gt;

&lt;p&gt;Once that workflow is reliable, I can decide whether another automation is actually necessary.&lt;/p&gt;

&lt;h2&gt;
  
  
  Think in systems, not individual automations
&lt;/h2&gt;

&lt;p&gt;There's another lesson here.&lt;/p&gt;

&lt;p&gt;A business doesn't need dozens of disconnected automations.&lt;/p&gt;

&lt;p&gt;It needs a small number of reliable systems.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;h3&gt;
  
  
  Delivery system
&lt;/h3&gt;

&lt;p&gt;Payment&lt;br&gt;
→ Digital product delivery&lt;/p&gt;

&lt;h3&gt;
  
  
  Order system
&lt;/h3&gt;

&lt;p&gt;Payment&lt;br&gt;
→ Order record&lt;br&gt;
→ Customer record&lt;/p&gt;

&lt;h3&gt;
  
  
  Notification system
&lt;/h3&gt;

&lt;p&gt;Important event&lt;br&gt;
→ Telegram notification&lt;/p&gt;

&lt;h3&gt;
  
  
  Follow-up system
&lt;/h3&gt;

&lt;p&gt;Customer event&lt;br&gt;
→ Email sequence&lt;/p&gt;

&lt;p&gt;Each system should have a clear responsibility.&lt;/p&gt;

&lt;p&gt;That makes troubleshooting much easier.&lt;/p&gt;

&lt;h2&gt;
  
  
  A simple rule
&lt;/h2&gt;

&lt;p&gt;The rule I'm using now is:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Automate repetitive work, not complexity.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;If automation removes a task I don't want to do repeatedly, it's probably useful.&lt;/p&gt;

&lt;p&gt;If automation creates five new things I need to monitor, I probably made the workflow too complicated.&lt;/p&gt;

&lt;h2&gt;
  
  
  The goal isn't maximum automation
&lt;/h2&gt;

&lt;p&gt;This is probably the biggest lesson I've learned.&lt;/p&gt;

&lt;p&gt;I used to think the goal was:&lt;/p&gt;

&lt;p&gt;"Automate as much as possible."&lt;/p&gt;

&lt;p&gt;Now I think the goal is:&lt;/p&gt;

&lt;p&gt;"Remove as much unnecessary work as possible."&lt;/p&gt;

&lt;p&gt;Those sound similar.&lt;/p&gt;

&lt;p&gt;They're not.&lt;/p&gt;

&lt;p&gt;A business with 20 complicated automations isn't necessarily more efficient than one with 5 simple ones.&lt;/p&gt;

&lt;p&gt;Reliability matters more than the number of automations.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I'm building
&lt;/h2&gt;

&lt;p&gt;This is also the reason I'm building NomadOS.&lt;/p&gt;

&lt;p&gt;The goal isn't to create another giant automation platform.&lt;/p&gt;

&lt;p&gt;Tools like Make already give you enormous flexibility.&lt;/p&gt;

&lt;p&gt;The harder problem is deciding how those tools should actually be used in a digital product business.&lt;/p&gt;

&lt;p&gt;I'm interested in building practical workflows around real business processes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;digital product delivery&lt;/li&gt;
&lt;li&gt;order tracking&lt;/li&gt;
&lt;li&gt;customer management&lt;/li&gt;
&lt;li&gt;notifications&lt;/li&gt;
&lt;li&gt;lead capture&lt;/li&gt;
&lt;li&gt;follow-up&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The idea is to start with simple workflows and gradually connect them into a system.&lt;/p&gt;

&lt;p&gt;Without creating another system that needs constant babysitting.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final thought
&lt;/h2&gt;

&lt;p&gt;Automation should make your business quieter.&lt;/p&gt;

&lt;p&gt;Not louder.&lt;/p&gt;

&lt;p&gt;If you're spending more time checking whether your automations are working than you spent doing the original task manually, that's probably a sign to simplify.&lt;/p&gt;

&lt;p&gt;Start with one repetitive problem.&lt;/p&gt;

&lt;p&gt;Automate it.&lt;/p&gt;

&lt;p&gt;Make it reliable.&lt;/p&gt;

&lt;p&gt;Then decide whether you actually need the next automation.&lt;/p&gt;

&lt;p&gt;That's the approach I'm taking now.&lt;/p&gt;

</description>
      <category>automation</category>
      <category>nocode</category>
      <category>productivity</category>
      <category>indiehacking</category>
    </item>
    <item>
      <title>How to Automate Digital Product Delivery with Payhip, Make, and Telegram</title>
      <dc:creator>Eva</dc:creator>
      <pubDate>Wed, 02 Sep 2026 14:08:30 +0000</pubDate>
      <link>https://dev.to/eva-nomados/how-to-automate-digital-product-delivery-with-payhip-make-and-telegram-2nm9</link>
      <guid>https://dev.to/eva-nomados/how-to-automate-digital-product-delivery-with-payhip-make-and-telegram-2nm9</guid>
      <description>&lt;p&gt;If you sell digital products, one of the first things you'll probably want to automate is delivery. &lt;/p&gt;

&lt;p&gt;A typical manual workflow looks like this:&lt;/p&gt;

&lt;p&gt;Customer buys a product&lt;br&gt;
→ You receive the order&lt;br&gt;
→ You check the payment&lt;br&gt;
→ You send the download&lt;br&gt;
→ You record the customer&lt;br&gt;
→ You send a confirmation&lt;/p&gt;

&lt;p&gt;It works.&lt;/p&gt;

&lt;p&gt;But once you start getting more orders, doing the same steps manually becomes unnecessary work.&lt;/p&gt;

&lt;p&gt;I wanted a simple way to connect the tools I was already using.&lt;/p&gt;

&lt;p&gt;The workflow I ended up with looks like this:&lt;/p&gt;

&lt;p&gt;Payhip&lt;br&gt;
↓&lt;br&gt;
Make&lt;br&gt;
↓&lt;br&gt;
Telegram&lt;br&gt;
↓&lt;br&gt;
Notion&lt;/p&gt;

&lt;p&gt;Here's how it works.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Payhip handles the purchase
&lt;/h2&gt;

&lt;p&gt;The customer purchases a digital product through Payhip.&lt;/p&gt;

&lt;p&gt;Payhip becomes the starting point of the workflow.&lt;/p&gt;

&lt;p&gt;Instead of manually checking every order, the purchase event can trigger the next step.&lt;/p&gt;

&lt;p&gt;The important part here is that the automation starts with an event.&lt;/p&gt;

&lt;p&gt;You don't want to constantly check whether something happened.&lt;/p&gt;

&lt;p&gt;You want the system to tell you when it happened.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Make handles the automation
&lt;/h2&gt;

&lt;p&gt;Make sits between the different services.&lt;/p&gt;

&lt;p&gt;The basic idea is:&lt;/p&gt;

&lt;p&gt;Payhip event&lt;br&gt;
→ Make receives the data&lt;br&gt;
→ Make processes the order&lt;br&gt;
→ Make sends the information to the next service&lt;/p&gt;

&lt;p&gt;This's where you can decide what should happen after a purchase.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;record the order&lt;/li&gt;
&lt;li&gt;notify yourself&lt;/li&gt;
&lt;li&gt;send customer information to another system&lt;/li&gt;
&lt;li&gt;trigger another workflow&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The nice thing about this approach is that you don't need to build a custom backend just to connect a few services.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Telegram handles notifications
&lt;/h2&gt;

&lt;p&gt;I use Telegram for notifications because I don't want to constantly check dashboards.&lt;/p&gt;

&lt;p&gt;For example, when a new order arrives, Make can send notification like:&lt;/p&gt;

&lt;p&gt;New order received&lt;/p&gt;

&lt;p&gt;Product: NomadOS Lite&lt;br&gt;
Customer: &lt;a href="mailto:customer@example.com"&gt;customer@example.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This turns the workflow into something I can monitor without opening Payhip every few minutes.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Notion stores the data
&lt;/h2&gt;

&lt;p&gt;The final step is recording the order in Notion.&lt;/p&gt;

&lt;p&gt;For example, my database can contain:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Customer&lt;/th&gt;
&lt;th&gt;Product&lt;/th&gt;
&lt;th&gt;Status&lt;/th&gt;
&lt;th&gt;Date&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="mailto:customer@example.com"&gt;customer@example.com&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;NomadOS Lite&lt;/td&gt;
&lt;td&gt;Paid&lt;/td&gt;
&lt;td&gt;2026-09-02&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Now the order doesn't just trigger a notification.&lt;/p&gt;

&lt;p&gt;It becomes part of a simple customer/order database.&lt;/p&gt;

&lt;p&gt;This becomes much more useful when you have multiple products.&lt;/p&gt;

&lt;h2&gt;
  
  
  The complete workflow
&lt;/h2&gt;

&lt;p&gt;The basic architecture looks like this:&lt;/p&gt;

&lt;p&gt;Payhip&lt;br&gt;
   ↓&lt;br&gt;
Purchase event&lt;br&gt;
   ↓&lt;br&gt;
Make&lt;br&gt;
   ↓&lt;br&gt;
┌───────────────┐&lt;br&gt;
│ Process order │&lt;br&gt;
└───────┬───────┘&lt;br&gt;
        ↓&lt;br&gt;
   ┌────┴────┐&lt;br&gt;
   ↓         ↓&lt;br&gt;
Telegram   Notion&lt;br&gt;
   ↓         ↓&lt;br&gt;
Notify     Record&lt;/p&gt;

&lt;p&gt;The important thing is that each tool has a relatively simple responsibility.&lt;/p&gt;

&lt;p&gt;Payhip handles the transaction.&lt;/p&gt;

&lt;p&gt;Make handles the automation logic.&lt;/p&gt;

&lt;p&gt;Telegram handles notifications.&lt;/p&gt;

&lt;p&gt;Notion stores the information.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I learned
&lt;/h2&gt;

&lt;p&gt;The interesting part wasn't actually connecting the tools.&lt;/p&gt;

&lt;p&gt;The difficult part was deciding what not to automate.&lt;/p&gt;

&lt;p&gt;It's easy to keep adding another step:&lt;/p&gt;

&lt;p&gt;"Maybe I should automate this too."&lt;/p&gt;

&lt;p&gt;Then another one.&lt;/p&gt;

&lt;p&gt;And another one.&lt;/p&gt;

&lt;p&gt;Eventually, the automation itself becomes something you have to maintain.&lt;/p&gt;

&lt;p&gt;So I've started following a simple rule:&lt;/p&gt;

&lt;p&gt;Automate repetitive work.&lt;/p&gt;

&lt;p&gt;Don't automate complexity just because you can.&lt;/p&gt;

&lt;p&gt;Start with one reliable workflow.&lt;/p&gt;

&lt;p&gt;Then add another only when the manual work actually becomes a problem.&lt;/p&gt;

&lt;p&gt;That's the approach I'm using while building my own digital product automation system.&lt;/p&gt;

</description>
      <category>automation</category>
      <category>nocode</category>
      <category>tutorial</category>
      <category>productivity</category>
    </item>
    <item>
      <title>#How I built an automated digital product workflow with Payhip,Make,Telegram and Notion</title>
      <dc:creator>Eva</dc:creator>
      <pubDate>Fri, 31 Jul 2026 14:00:23 +0000</pubDate>
      <link>https://dev.to/eva-nomados/how-i-built-an-automated-digital-product-workflow-with-payhipmaketelegram-and-notion-3fkm</link>
      <guid>https://dev.to/eva-nomados/how-i-built-an-automated-digital-product-workflow-with-payhipmaketelegram-and-notion-3fkm</guid>
      <description>&lt;h1&gt;
  
  
  How I built an automated digital product workflow with Payhip,Make,Telegram and Notion
&lt;/h1&gt;

&lt;p&gt;Selling digital products sounds simple:&lt;/p&gt;

&lt;p&gt;Create a product → receive payment → deliver the product.&lt;/p&gt;

&lt;p&gt;But the operational workflow quickly becomes messy.&lt;/p&gt;

&lt;p&gt;You need:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Payment handling&lt;/li&gt;
&lt;li&gt;Customer notifications&lt;/li&gt;
&lt;li&gt;Delivery automation&lt;/li&gt;
&lt;li&gt;Order tracking&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So I built a lightweight automation stack using:&lt;/p&gt;

&lt;p&gt;Payhip&lt;br&gt;
  +&lt;br&gt;
Make&lt;br&gt;
  +&lt;br&gt;
Telegram Bot&lt;br&gt;
  +&lt;br&gt;
Notion&lt;/p&gt;

&lt;h2&gt;
  
  
  The architecture
&lt;/h2&gt;

&lt;p&gt;Customer Payment&lt;br&gt;
        ↓&lt;br&gt;
Payhip&lt;br&gt;
        ↓&lt;br&gt;
Make Automation&lt;br&gt;
        ↓&lt;br&gt;
Telegram Notification&lt;br&gt;
        ↓&lt;br&gt;
Notion Database&lt;/p&gt;

&lt;h2&gt;
  
  
  Example workflows
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Telegram Order Notification
&lt;/h3&gt;

&lt;p&gt;When a customer purchases a product:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Payment event triggers automation&lt;/li&gt;
&lt;li&gt;Telegram receives notification&lt;/li&gt;
&lt;li&gt;Order information is recorded&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. Digital Product Delivery
&lt;/h3&gt;

&lt;p&gt;After payment confirmation:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Delivery workflow starts&lt;/li&gt;
&lt;li&gt;Customer receives instructions&lt;/li&gt;
&lt;li&gt;Order status is tracked&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why I open sourced this
&lt;/h2&gt;

&lt;p&gt;Many creators don't need a complex backend.&lt;/p&gt;

&lt;p&gt;They need simple, reliable automation that connects existing tools.&lt;/p&gt;

&lt;p&gt;You can find the complete workflow examples here:&lt;/p&gt;

&lt;p&gt;👉 GitHub Repository:&lt;br&gt;
&lt;a href="https://github.com/Eva-311/hermes-automation-examples" rel="noopener noreferrer"&gt;https://github.com/Eva-311/hermes-automation-examples&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Questions for other builders:&lt;/p&gt;

&lt;p&gt;What tools are you currently connecting manually in your workflow?&lt;/p&gt;

</description>
      <category>automation</category>
      <category>nocode</category>
      <category>productivity</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
