<?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: Jan Marc Coloma</title>
    <description>The latest articles on DEV Community by Jan Marc Coloma (@jan_marccoloma_0ee172414).</description>
    <link>https://dev.to/jan_marccoloma_0ee172414</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3720933%2F2284197e-1402-4d45-b85a-c182c6b84002.png</url>
      <title>DEV Community: Jan Marc Coloma</title>
      <link>https://dev.to/jan_marccoloma_0ee172414</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jan_marccoloma_0ee172414"/>
    <language>en</language>
    <item>
      <title>I Built an n8n Community Node for Lemon Squeezy - Here's How to Automate Your Digital Product Sales</title>
      <dc:creator>Jan Marc Coloma</dc:creator>
      <pubDate>Tue, 20 Jan 2026 06:47:26 +0000</pubDate>
      <link>https://dev.to/jan_marccoloma_0ee172414/i-built-an-n8n-community-node-for-lemon-squeezy-heres-how-to-automate-your-digital-product-sales-5enh</link>
      <guid>https://dev.to/jan_marccoloma_0ee172414/i-built-an-n8n-community-node-for-lemon-squeezy-heres-how-to-automate-your-digital-product-sales-5enh</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;I recently published my first open-source n8n community node: &lt;strong&gt;n8n-nodes-lemonsqueezy&lt;/strong&gt; - a full integration for Lemon Squeezy, the platform for selling digital products, subscriptions, and software licenses.&lt;/p&gt;

&lt;p&gt;In this article, I'll walk you through what it does, why I built it, and how you can use it to automate your digital product business.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Lemon Squeezy?
&lt;/h2&gt;

&lt;p&gt;Lemon Squeezy is a merchant of record platform that handles payments, taxes, and compliance for digital creators. It's popular among indie hackers and developers for selling:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Digital downloads (eBooks, courses, templates)&lt;/li&gt;
&lt;li&gt;SaaS subscriptions&lt;/li&gt;
&lt;li&gt;Software licenses&lt;/li&gt;
&lt;li&gt;One-time and recurring payments&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What is n8n?
&lt;/h2&gt;

&lt;p&gt;n8n is a self-hosted, open-source workflow automation platform. Think Zapier, but you own your data and can extend it with custom nodes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why I Built This
&lt;/h2&gt;

&lt;p&gt;I was building a SaaS product and needed to automate several workflows:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Send Slack notifications when orders come in&lt;/li&gt;
&lt;li&gt;Sync customers to my CRM&lt;/li&gt;
&lt;li&gt;Validate license keys via API&lt;/li&gt;
&lt;li&gt;Send recovery emails for failed subscription payments&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The official Lemon Squeezy API is great, but manually calling it via HTTP nodes was tedious. So I built a proper integration.&lt;/p&gt;

&lt;h2&gt;
  
  
  Features
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Full API Coverage
&lt;/h3&gt;

&lt;p&gt;The node supports 15+ resources with full CRUD operations:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Resource&lt;/th&gt;
&lt;th&gt;Operations&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Checkout&lt;/td&gt;
&lt;td&gt;Create, Get, Get Many&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Customer&lt;/td&gt;
&lt;td&gt;Create, Update, Delete, Get, Get Many&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Order&lt;/td&gt;
&lt;td&gt;Get, Get Many, Refund&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Subscription&lt;/td&gt;
&lt;td&gt;Get, Get Many, Update, Cancel, Resume&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;License Key&lt;/td&gt;
&lt;td&gt;Get, Get Many, Validate, Activate, Deactivate&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Discount&lt;/td&gt;
&lt;td&gt;Create, Delete, Get, Get Many&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Product&lt;/td&gt;
&lt;td&gt;Get, Get Many&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Variant&lt;/td&gt;
&lt;td&gt;Get, Get Many&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Webhook&lt;/td&gt;
&lt;td&gt;Create, Update, Delete, Get, Get Many&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Plus: Store, Order Items, Subscription Invoices, License Key Instances, Discount Redemptions, and Usage Records.&lt;/p&gt;

&lt;h3&gt;
  
  
  Webhook Trigger
&lt;/h3&gt;

&lt;p&gt;Real-time events for everything important:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;order_created&lt;/code&gt; / &lt;code&gt;order_refunded&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;subscription_created&lt;/code&gt; / &lt;code&gt;subscription_cancelled&lt;/code&gt; / &lt;code&gt;subscription_updated&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;subscription_payment_success&lt;/code&gt; / &lt;code&gt;subscription_payment_failed&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;license_key_created&lt;/code&gt; / &lt;code&gt;license_key_updated&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Security Hardened
&lt;/h3&gt;

&lt;p&gt;Security was a priority:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Mandatory webhook signature verification&lt;/strong&gt; using HMAC-SHA256&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Replay attack protection&lt;/strong&gt; - rejects events older than a configurable threshold&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SSRF protection&lt;/strong&gt; - blocks internal/private network URLs&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Input validation&lt;/strong&gt; - RFC 5322 email validation&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Production Ready
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Built-in rate limiting with automatic retry&lt;/li&gt;
&lt;li&gt;Exponential backoff for failed requests&lt;/li&gt;
&lt;li&gt;87%+ test coverage with 176 tests&lt;/li&gt;
&lt;li&gt;Full TypeScript support&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Installation
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Option 1: Community Nodes (Recommended)
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Go to &lt;strong&gt;Settings&lt;/strong&gt; &amp;gt; &lt;strong&gt;Community Nodes&lt;/strong&gt; in your n8n instance&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Install&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Enter &lt;code&gt;n8n-nodes-lemonsqueezy&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Install&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Option 2: npm
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
bash
npm install n8n-nodes-lemonsqueezy
Setting Up Credentials
Log in to your Lemon Squeezy Dashboard
Go to Settings &amp;gt; API
Click Create API Key
Copy the key and add it to n8n credentials
Example Workflows
1. New Order Slack Notification

Lemon Squeezy Trigger (order_created) → Slack (Send Message)
Get instant notifications when someone buys your product.

2. Subscription Churn Prevention

Schedule Trigger (daily) → Lemon Squeezy (Get Subscriptions, status=past_due) → Send Email
Automatically reach out to customers with failed payments before they churn.

3. License Key Validation API

Webhook → Lemon Squeezy (Validate License Key) → Respond to Webhook
Build a license validation endpoint for your desktop or mobile app.

4. Dynamic Checkout Links

HTTP Request → Lemon Squeezy (Create Checkout) → Return Checkout URL
Create personalized checkout links with pre-filled customer data and custom discounts.

5. Customer Sync to CRM

Lemon Squeezy Trigger (order_created) → Lemon Squeezy (Get Customer) → HubSpot (Create Contact)
Keep your CRM in sync automatically.

Advanced Features
Filtering
Most "Get Many" operations support filtering:


Filter by: storeId, status, email, productId, variantId, orderId
Sorting
Sort results by created_at or updated_at in ascending or descending order.

Relationship Expansion
Include related resources in a single API call:


Orders → include: customer, order-items, subscriptions
This reduces API calls and speeds up your workflows.

Technical Details
The node is built with:

TypeScript for type safety
Vitest for testing
ESLint and Prettier for code quality
GitHub Actions for CI/CD
Project Structure

nodes/
  LemonSqueezy/
    LemonSqueezy.node.ts      # Main node
    LemonSqueezyTrigger.node.ts # Webhook trigger
    helpers.ts                 # API helpers
    types.ts                   # TypeScript types
    resources/                 # Resource definitions
credentials/
  LemonSqueezyApi.credentials.ts
test/
  LemonSqueezy.test.ts        # 176 tests
Contributing
The project is open source and contributions are welcome:

GitHub: https://github.com/janmaaarc/n8n-nodes-lemonsqueezy
npm: https://www.npmjs.com/package/n8n-nodes-lemonsqueezy
Feel free to open issues for bugs or feature requests, or submit a PR.

Conclusion
If you're selling digital products with Lemon Squeezy and using n8n for automation, this node should save you a lot of time.

Install it today:


n8n-nodes-lemonsqueezy
Let me know in the comments what workflows you build with it.

Links:

GitHub: https://github.com/janmaaarc/n8n-nodes-lemonsqueezy
npm: https://www.npmjs.com/package/n8n-nodes-lemonsqueezy
Lemon Squeezy API Docs: https://docs.lemonsqueezy.com/api
n8n Community Nodes Docs: https://docs.n8n.io/integrations/community-nodes/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
      <category>n8n</category>
      <category>automation</category>
      <category>typescript</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
