<?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: Andrey Tverdomed</title>
    <description>The latest articles on DEV Community by Andrey Tverdomed (@andrey_tverdomed).</description>
    <link>https://dev.to/andrey_tverdomed</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%2F2362290%2F6509a5a7-5ef7-46d2-9832-e84f9a1cba16.jpg</url>
      <title>DEV Community: Andrey Tverdomed</title>
      <link>https://dev.to/andrey_tverdomed</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/andrey_tverdomed"/>
    <language>en</language>
    <item>
      <title>n8n 3.0 Upgrade: What Breaks in Production Workflows and How to Prepare</title>
      <dc:creator>Andrey Tverdomed</dc:creator>
      <pubDate>Mon, 02 Nov 2026 21:47:24 +0000</pubDate>
      <link>https://dev.to/entechsolutions/n8n-30-upgrade-what-breaks-in-production-workflows-and-how-to-prepare-59nh</link>
      <guid>https://dev.to/entechsolutions/n8n-30-upgrade-what-breaks-in-production-workflows-and-how-to-prepare-59nh</guid>
      <description>&lt;p&gt;&lt;em&gt;Originally published on &lt;a href="https://integrationstars.com/n8n/blog/n8n-3-upgrade/" rel="noopener noreferrer"&gt;integrationstars.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The n8n 3.0 upgrade is one-way. n8n released the 3.0 beta on October 27, 2026 and plans the stable release for early December. There is no rollback from 3.x to 2.x except restoring a backup. Before you upgrade, run the Migration Report (Settings &amp;gt; Migration Report, n8n 2.39 or later), fix what it flags, take a full backup and test on a staging copy.&lt;/p&gt;

&lt;h2&gt;
  
  
  The timeline
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Date&lt;/th&gt;
&lt;th&gt;What happens&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Oct 27, 2026&lt;/td&gt;
&lt;td&gt;3.0.0 beta, opt-in&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Early Dec 2026&lt;/td&gt;
&lt;td&gt;Stable 3.x planned&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Dec 31, 2026&lt;/td&gt;
&lt;td&gt;Support for 1.x ends (no direct 1.x → 3.x path)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;12 months after stable&lt;/td&gt;
&lt;td&gt;2.x security and critical fixes end&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  What breaks, sorted by what it does to a running integration
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Change&lt;/th&gt;
&lt;th&gt;Effect&lt;/th&gt;
&lt;th&gt;Where it hides&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Cron and Interval removed&lt;/td&gt;
&lt;td&gt;Published workflow won't activate&lt;/td&gt;
&lt;td&gt;Older polling syncs. Use Schedule Trigger&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Function, Function Item, Item Lists removed&lt;/td&gt;
&lt;td&gt;Executions fail&lt;/td&gt;
&lt;td&gt;Pre-1.0 workflows. Report can convert to Code&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;$getPairedItem&lt;/code&gt; removed&lt;/td&gt;
&lt;td&gt;Code fails&lt;/td&gt;
&lt;td&gt;Use &lt;code&gt;$('&amp;lt;node&amp;gt;').item&lt;/code&gt;, &lt;code&gt;.itemMatching()&lt;/code&gt;, &lt;code&gt;.pairedItem()&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Code task timeout 300 → 60 s&lt;/td&gt;
&lt;td&gt;Long Code steps time out&lt;/td&gt;
&lt;td&gt;Big transforms. Set &lt;code&gt;N8N_RUNNERS_TASK_TIMEOUT&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Execute Sub-workflow Local File / URL sources removed&lt;/td&gt;
&lt;td&gt;Child can't load&lt;/td&gt;
&lt;td&gt;Use Database or Define Below&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AI Agent v1 removed&lt;/td&gt;
&lt;td&gt;Old agent types stop&lt;/td&gt;
&lt;td&gt;Rebuild on the latest Tools Agent&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Slack credential needs Signature Secret&lt;/td&gt;
&lt;td&gt;Slack Trigger stops&lt;/td&gt;
&lt;td&gt;Approval / alert flows&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Unverified community packages off by default&lt;/td&gt;
&lt;td&gt;Nodes stop loading&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;N8N_UNVERIFIED_PACKAGES_ENABLED=true&lt;/code&gt; only if you accept the risk&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Larger SSRF block list (with &lt;code&gt;default&lt;/code&gt;)&lt;/td&gt;
&lt;td&gt;Some private ranges refused&lt;/td&gt;
&lt;td&gt;Adds &lt;code&gt;100.64.0.0/10&lt;/code&gt;; allow-list with &lt;code&gt;N8N_SSRF_ALLOWED_IP_RANGES&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Self-hosted: Docker or nothing
&lt;/h2&gt;

&lt;p&gt;3.0 doesn't publish a runnable &lt;code&gt;n8n&lt;/code&gt; package to npm, and &lt;code&gt;npm&lt;/code&gt; / &lt;code&gt;npx n8n&lt;/code&gt; installs are unsupported. Move to Docker first, as its own change. Also: &lt;code&gt;~/.n8n/binaryData&lt;/code&gt; becomes &lt;code&gt;~/.n8n/storage&lt;/code&gt; (n8n won't start if both exist), encryption key rotation is on by default, and the Compression node limits drop to 256 MiB / 1,000 entries.&lt;/p&gt;

&lt;h2&gt;
  
  
  A six-step plan
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Check your version (Settings &amp;gt; Personal). On 1.x, go to 2.x first.&lt;/li&gt;
&lt;li&gt;Run the Migration Report; read both "Workflow issues" and "Instance issues".&lt;/li&gt;
&lt;li&gt;Fix the workflows that create orders, invoices, payments or stock movements first. Review auto-migrated versions before publishing.&lt;/li&gt;
&lt;li&gt;Search Code nodes for &lt;code&gt;$getPairedItem&lt;/code&gt;, &lt;code&gt;$evaluateExpression&lt;/code&gt; and anything running over a minute.&lt;/li&gt;
&lt;li&gt;Back up, restore to staging, upgrade the copy, replay a day of real inputs and compare record counts.&lt;/li&gt;
&lt;li&gt;Upgrade in a quiet window; confirm every scheduled workflow activated and your error workflow still fires.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The full version, with the Cloud notes and FAQ, is on &lt;a href="https://integrationstars.com/n8n/blog/n8n-3-upgrade/" rel="noopener noreferrer"&gt;our blog&lt;/a&gt;. Sources: &lt;a href="https://blog.n8n.io/introducing-n8n-v3/" rel="noopener noreferrer"&gt;n8n blog&lt;/a&gt;, &lt;a href="https://docs.n8n.io/changelog/v30-breaking-changes" rel="noopener noreferrer"&gt;v3.0 breaking changes&lt;/a&gt;, &lt;a href="https://docs.n8n.io/changelog/v30-migration-tool" rel="noopener noreferrer"&gt;migration tool&lt;/a&gt;, &lt;a href="https://support.n8n.io/article/how-do-i-prepare-for-n-8-n-3-0" rel="noopener noreferrer"&gt;n8n support FAQ&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>n8n</category>
      <category>automation</category>
      <category>devops</category>
      <category>selfhosted</category>
    </item>
    <item>
      <title>Celigo vs Boomi for NetSuite: What the Vendor Docs Actually Say</title>
      <dc:creator>Andrey Tverdomed</dc:creator>
      <pubDate>Fri, 30 Oct 2026 22:50:12 +0000</pubDate>
      <link>https://dev.to/entechsolutions/celigo-vs-boomi-for-netsuite-what-the-vendor-docs-actually-say-e5g</link>
      <guid>https://dev.to/entechsolutions/celigo-vs-boomi-for-netsuite-what-the-vendor-docs-actually-say-e5g</guid>
      <description>&lt;p&gt;&lt;em&gt;Originally published on &lt;a href="https://integrationstars.com/celigo/blog/celigo-vs-boomi/" rel="noopener noreferrer"&gt;integrationstars.com&lt;/a&gt;. Checked against each vendor's documentation on October 23, 2026.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Short answer:&lt;/strong&gt; if NetSuite is the centre of your stack and most of your integrations are common pairings such as Shopify, Salesforce, Amazon or EDI trading partners, Celigo usually gets you to production faster, because much of the flow logic ships prebuilt. If NetSuite is one system among many, you need on-premise runtimes, or you also want API management and master data on the same platform, Boomi is the broader fit. That is our view as a Celigo partner; the facts below come from each vendor’s own pages, linked at the end.&lt;/p&gt;

&lt;h2&gt;
  
  
  Celigo vs Boomi at a glance
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Category&lt;/th&gt;
&lt;th&gt;Celigo&lt;/th&gt;
&lt;th&gt;Boomi&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Ownership&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Privately held&lt;/td&gt;
&lt;td&gt;Privately held by Francisco Partners and TPG, which bought Boomi from Dell in 2021&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;NetSuite connectivity&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Hundreds of prebuilt NetSuite integration apps and templates, plus a dedicated NetSuite bundle&lt;/td&gt;
&lt;td&gt;A NetSuite connector (SuiteTalk SOAP) and a NetSuite REST connector; flows are built as Boomi processes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Where it runs&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Celigo’s hosted platform (integrator.io)&lt;/td&gt;
&lt;td&gt;Atom runtimes that can be Boomi-hosted or installed on your own servers, with clustered runtimes for high availability&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;EDI&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Native through B2B Manager (X12 and EDIFACT), with NetSuite EDI templates&lt;/td&gt;
&lt;td&gt;Native B2B/EDI (X12, EDIFACT, TRADACOMS, HL7 and others), enabled as its own edition&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Beyond integration&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;AI agents and MCP Management for governed AI access&lt;/td&gt;
&lt;td&gt;API management, Data Hub (master data) and data integration product lines&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Pricing&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Not published; quoted by plan and volume&lt;/td&gt;
&lt;td&gt;Not published; subscription tiers or pay-as-you-go usage pricing, with a 30-day trial&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Typical NetSuite setup (our projects)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;4–8 weeks with a prebuilt app&lt;/td&gt;
&lt;td&gt;8–16 weeks for a custom process build&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  How each platform connects to NetSuite
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Celigo&lt;/strong&gt; describes three layers for NetSuite: fully managed integration apps, integration templates that act as starter blueprints, and flows you build yourself on the platform, with a dedicated NetSuite bundle installed in your account. Celigo lists NetSuite-specific features such as using saved searches as the source of an export, dynamic record lookups during imports, real-time triggers on NetSuite events, and concurrency controls that keep requests inside your NetSuite account limits. In practice, a NetSuite–Shopify or NetSuite–Salesforce project starts from a prebuilt app and becomes a mapping and edge-case exercise.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Boomi&lt;/strong&gt; offers two NetSuite connectors. The original NetSuite connector uses the SuiteTalk SOAP web services API. The newer NetSuite REST connector calls NetSuite’s REST record API and supports OAuth 2.0 (client credentials with a certificate-signed JWT) or token-based authentication. Either way, you build the order, customer and inventory logic as Boomi processes on the canvas, which gives you more control and more work.&lt;/p&gt;

&lt;p&gt;One date matters for both: Oracle plans to retire SOAP web services by NetSuite 2028.2, and new token-based authentication integrations can no longer be created from 2027.1. If an existing Boomi integration runs on the SOAP connector, plan a move to REST; whichever platform you use, start new NetSuite connections on OAuth 2.0. Our &lt;a href="https://integrationstars.com/celigo/blog/netsuite-tba-deprecation/" rel="noopener noreferrer"&gt;TBA deprecation guide&lt;/a&gt; covers the dates.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where each one runs
&lt;/h2&gt;

&lt;p&gt;Celigo runs as a hosted cloud platform, and Celigo says it can also reach on-premises and legacy systems. Boomi’s runtime is the &lt;strong&gt;Atom&lt;/strong&gt;, a lightweight Java application that executes your processes. It can run in Boomi’s cloud or on your own infrastructure, it needs outbound HTTPS to Boomi but no inbound firewall ports, and for high volume or high availability Boomi offers a clustered runtime (formerly called a Molecule). If you have systems that must stay inside your network, such as an on-premise ERP or a database that cannot be exposed, that runtime model is one of Boomi’s real strengths.&lt;/p&gt;

&lt;h2&gt;
  
  
  EDI on both platforms
&lt;/h2&gt;

&lt;p&gt;Both handle EDI natively, which older comparisons often get wrong. Celigo’s &lt;strong&gt;B2B Manager&lt;/strong&gt; runs inside the Celigo platform, supports X12 and EDIFACT with trading partner profiles and validation, and includes NetSuite EDI templates for order-to-cash and procure-to-pay. Boomi’s &lt;strong&gt;B2B/EDI management&lt;/strong&gt; uses trading partner components and supports X12, EDIFACT, TRADACOMS, HL7 and other standards over AS2, SFTP and web services; Boomi’s documentation notes that these features come in their own edition, enabled through your account representative. For NetSuite retail EDI (Walmart, Target, Amazon vendor), Celigo’s NetSuite templates shorten the work; for a large partner network across many back-end systems, Boomi’s breadth of standards counts. See our &lt;a href="https://integrationstars.com/celigo/integrations/netsuite-edi/" rel="noopener noreferrer"&gt;NetSuite EDI integration page&lt;/a&gt; for how we approach it.&lt;/p&gt;

&lt;h2&gt;
  
  
  How each vendor prices
&lt;/h2&gt;

&lt;p&gt;Neither vendor publishes a price list. Celigo quotes platform licensing based on your plan and volume. Boomi’s pricing page lists subscription tiers by product line (for integration: Professional, Professional Plus, Enterprise and Enterprise Plus), a pay-as-you-go option billed on usage, and a 30-day trial of the full platform; Boomi also notes that some enterprise connectors cost extra. The practical way to compare is to get both quotes for the same list of flows and add the implementation effort, which is usually where the bigger difference sits for NetSuite: a prebuilt app needs less build time than a process built from scratch.&lt;/p&gt;

&lt;h2&gt;
  
  
  Which one to choose
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Choose Celigo&lt;/strong&gt; when NetSuite is the hub, your integrations are mostly common SaaS and ecommerce pairings, and your team wants prebuilt flows with monitoring rather than a blank canvas.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Choose Boomi&lt;/strong&gt; when NetSuite is one of many systems, some of them on-premise, or when you want API management and master data management on the same platform as your integrations.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Either works&lt;/strong&gt; for EDI; pick on the rest of your estate, not on EDI alone.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Moving from one to the other means rebuilding the flows, since flow logic is not portable between platforms. In our projects that typically takes 6–12 weeks depending on the number of flows, even when the connected systems stay the same.&lt;/p&gt;

&lt;h2&gt;
  
  
  Common NetSuite integration errors on either platform
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Authentication failures.&lt;/strong&gt; An expired or revoked token, a rotated certificate, or a role that lost a permission. Check the connection first, then the integration role’s permissions in NetSuite.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Boomi Atom offline.&lt;/strong&gt; The runtime lost its connection to Boomi’s platform. Restart the Atom and check that outbound HTTPS is still allowed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;“Invalid value for field”.&lt;/strong&gt; Usually a NetSuite internal ID mapped against an external ID field, or a list value that does not exist in the target account. Use a lookup in the mapping rather than a direct field-to-field map.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Duplicate records after retries.&lt;/strong&gt; A webhook fires twice or a retry repeats a write that already succeeded. Check for an existing record by external ID or order number before creating a new one.&lt;/p&gt;

&lt;h2&gt;
  
  
  Other platforms to consider
&lt;/h2&gt;

&lt;p&gt;If neither fits, the usual shortlist adds &lt;strong&gt;Workato&lt;/strong&gt; for cross-department automation (see &lt;a href="https://integrationstars.com/celigo/blog/celigo-vs-workato/" rel="noopener noreferrer"&gt;Celigo vs Workato&lt;/a&gt;), &lt;strong&gt;MuleSoft&lt;/strong&gt; for API-led enterprise architecture (see &lt;a href="https://integrationstars.com/celigo/blog/celigo-vs-mulesoft/" rel="noopener noreferrer"&gt;Celigo vs MuleSoft&lt;/a&gt;) and &lt;strong&gt;n8n&lt;/strong&gt; for developer-led teams that want open-source flexibility (see our &lt;a href="https://integrationstars.com/n8n/" rel="noopener noreferrer"&gt;n8n practice&lt;/a&gt;). For a wider comparison, see &lt;a href="https://integrationstars.com/celigo/blog/best-ipaas-for-netsuite/" rel="noopener noreferrer"&gt;best iPaaS for NetSuite&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQs
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Which is better for NetSuite integration, Celigo or Boomi?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;For NetSuite-centric mid-market stacks, Celigo usually gets to production faster because it offers hundreds of prebuilt NetSuite integration apps and templates. Boomi connects to NetSuite through its NetSuite SOAP and REST connectors, but the flow logic is built as Boomi processes, so it fits better when NetSuite is one of many systems or some systems are on-premise.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Is Celigo cheaper than Boomi?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Neither vendor publishes a price list. Celigo quotes by plan and volume; Boomi offers subscription tiers or pay-as-you-go usage pricing. For common NetSuite pairings the total cost is often lower with Celigo because prebuilt apps reduce implementation work, but compare quotes for your own flows.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Do Celigo and Boomi both support EDI?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Yes. Celigo handles EDI natively through B2B Manager, with X12 and EDIFACT and NetSuite EDI templates. Boomi has native B2B/EDI management covering X12, EDIFACT, TRADACOMS, HL7 and other standards, enabled as its own edition.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Can Boomi run on-premise?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Yes. Boomi's runtime, the Atom, can run in Boomi's cloud or on your own infrastructure, needs only outbound HTTPS, and can be clustered for high availability. Celigo runs as a hosted cloud platform.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Who owns Boomi now?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Boomi was part of Dell (the product was long known as Dell Boomi). In 2021 Dell sold it to the private equity firms Francisco Partners and TPG, and it now operates as an independent, privately held company.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How long does it take to switch from Boomi to Celigo, or the reverse?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In Entech's projects, typically 6-12 weeks depending on the number of flows. Flow logic is not portable between the platforms, so every integration is rebuilt even when the connected systems stay the same.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.celigo.com/application/netsuite/" rel="noopener noreferrer"&gt;Celigo NetSuite integration&lt;/a&gt; (celigo.com)&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://docs.celigo.com/hc/en-us/sections/28036156266395-NetSuite-EDI-for-B2B-Manager" rel="noopener noreferrer"&gt;NetSuite EDI for B2B Manager&lt;/a&gt; (Celigo Help Center)&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://help.boomi.com/docs/Atomsphere/Integration/Connectors/int-NetSuite_REST_connection" rel="noopener noreferrer"&gt;NetSuite REST connection&lt;/a&gt; and &lt;a href="https://help.boomi.com/docs/Atomsphere/Integration/Connectors/r-atm-NetSuite_connector_0e4b02c7-ef6b-4c1e-a273-2f5d443c7e7c" rel="noopener noreferrer"&gt;NetSuite connector&lt;/a&gt; (Boomi documentation)&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://help.boomi.com/docs/Atomsphere/Integration/B2B_EDI/Trading_Partners" rel="noopener noreferrer"&gt;Trading Partners&lt;/a&gt; and &lt;a href="https://boomi.com/platform/b2b-management/" rel="noopener noreferrer"&gt;B2B/EDI platform&lt;/a&gt; (Boomi)&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://boomi.com/pricing/" rel="noopener noreferrer"&gt;Boomi pricing&lt;/a&gt; (boomi.com)&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://technical.ly/startups/boomi-dell-francisco-partners-tpg-capital/" rel="noopener noreferrer"&gt;Francisco Partners and TPG acquire Boomi from Dell&lt;/a&gt; (Technical.ly, 2021)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Vendor pages change; we checked these on October 23, 2026. Setup times are from Entech’s own projects.&lt;/p&gt;

&lt;p&gt;Need help deciding between Celigo and Boomi for your stack? Entech Solutions is a certified Celigo partner. &lt;a href="mailto:hello@integrationstars.com"&gt;Talk to an integration expert&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>netsuite</category>
      <category>integration</category>
      <category>ipaas</category>
      <category>erp</category>
    </item>
    <item>
      <title>NetSuite Next and Your Integrations: What Changes and What Doesn't</title>
      <dc:creator>Andrey Tverdomed</dc:creator>
      <pubDate>Mon, 26 Oct 2026 15:52:10 +0000</pubDate>
      <link>https://dev.to/entechsolutions/netsuite-next-and-your-integrations-what-changes-and-what-doesnt-69k</link>
      <guid>https://dev.to/entechsolutions/netsuite-next-and-your-integrations-what-changes-and-what-doesnt-69k</guid>
      <description>&lt;p&gt;&lt;em&gt;Originally published on &lt;a href="https://integrationstars.com/celigo/blog/netsuite-next-integrations/" rel="noopener noreferrer"&gt;integrationstars.com&lt;/a&gt;. Based on Oracle's NetSuite Next FAQ as read on October 23, 2026.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;NetSuite Next is Oracle's AI-powered next generation of NetSuite, with a refreshed interface and an assistant called Ask Oracle. For integrations, Oracle's FAQ says it is the same platform: the same data, roles, permissions, workflows and customizations, and the same connectivity through pre-built NetSuite connectors, SuiteCloud and the NetSuite Integration Platform. Most custom scripts are not expected to need changes, but some client scripts, form customizations and portlet scripts that manipulate page HTML may need review.&lt;/p&gt;

&lt;p&gt;Our view: API-based integrations are the lowest-risk part, and anything that touches the NetSuite user interface is what to test first.&lt;/p&gt;

&lt;h2&gt;
  
  
  At a glance
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;What it is:&lt;/strong&gt; a reimagined, AI-powered version of NetSuite with a refreshed user experience, built on the same platform and the same underlying account&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Integrations:&lt;/strong&gt; Oracle says NetSuite Next supports the same connectivity as the current experience: pre-built NetSuite connectors, custom integrations through SuiteCloud and the NetSuite Integration Platform&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Review first:&lt;/strong&gt; client scripts, form customizations and portlet scripts that directly change page HTML or structure; Oracle expects most other custom scripts to need no changes&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI:&lt;/strong&gt; Ask Oracle is included with the NetSuite license; the NetSuite AI Connector Service works alongside it, and external AI services connected through it do not use AI units&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Rollout:&lt;/strong&gt; in phases, access granted per role, with preview accounts available for 30 days and sandboxes enabled at the same time as production&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Our rule of thumb:&lt;/strong&gt; test every integration in a sandbox with a NetSuite Next role before your users switch&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What NetSuite Next is, and what it is not
&lt;/h2&gt;

&lt;p&gt;Oracle describes NetSuite Next as the next generation of NetSuite: an AI-powered ERP that puts AI at the center of how the business runs and adds a refreshed user experience. It is not a separate product to migrate to. Oracle's FAQ says it is the same platform used by thousands of organizations today, and that transactions and other data stay in the same underlying account, so a record saved in one experience is visible in the other.&lt;/p&gt;

&lt;p&gt;The headline feature is &lt;strong&gt;Ask Oracle&lt;/strong&gt;, a conversational assistant that can answer questions, give insights and take action using natural language. Oracle says it is included with your NetSuite license, so you do not need a separate ChatGPT or Claude license for it, and that it does not browse the public internet.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Oracle says stays the same for integrations
&lt;/h2&gt;

&lt;p&gt;For anyone who owns an integration, the useful part of the FAQ is what does not change. Oracle states that you continue to use the same data, roles, permissions, workflows and customizations, and that NetSuite Next supports the same connectivity and integrations as the current NetSuite experience:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;pre-built NetSuite connectors for common applications&lt;/li&gt;
&lt;li&gt;custom integrations built through SuiteCloud&lt;/li&gt;
&lt;li&gt;the NetSuite Integration Platform, for more complex or custom integrations&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That covers the usual ways a Celigo or n8n integration reaches NetSuite. Because the data and roles are the same, an integration that reads and writes records through an API user does not obviously depend on which interface people click around in. Oracle's FAQ does not go into API details, which we come back to below.&lt;/p&gt;

&lt;h2&gt;
  
  
  What may need review: scripts that touch the page
&lt;/h2&gt;

&lt;p&gt;Oracle says scripts, custom records, workflows and other customizations are expected to continue working. It makes one specific exception: some client scripts, form customizations or portlet scripts that directly manipulate HTML or page structure may need review. Here is how we would sort an integration estate against that statement.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;What the integration uses&lt;/th&gt;
&lt;th&gt;What Oracle says&lt;/th&gt;
&lt;th&gt;What we would test&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;API calls from Celigo, n8n or another platform&lt;/td&gt;
&lt;td&gt;Same connectivity as today; the FAQ does not discuss API specifics&lt;/td&gt;
&lt;td&gt;The full happy path and an error path in a sandbox, plus scheduled runs&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Server-side scripts (user events, scheduled scripts, Suitelets, RESTlets)&lt;/td&gt;
&lt;td&gt;Most custom scripts do not require changes&lt;/td&gt;
&lt;td&gt;One run of each script that your integration triggers or depends on&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Client scripts, form customizations, portlets that change HTML or page structure&lt;/td&gt;
&lt;td&gt;May need review&lt;/td&gt;
&lt;td&gt;Open the form or dashboard in NetSuite Next with the real role and check the behaviour&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Workflows&lt;/td&gt;
&lt;td&gt;Expected to continue working&lt;/td&gt;
&lt;td&gt;Trigger one workflow end to end, including its approval steps&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Pre-built connectors&lt;/td&gt;
&lt;td&gt;Same connectivity&lt;/td&gt;
&lt;td&gt;A test order or record through each connector&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  How the rollout works, and how to test your integrations
&lt;/h2&gt;

&lt;p&gt;Oracle says NetSuite Next is made available in phases, so the features may not yet be in your account. Account administrators see an in-application banner when the account is eligible. Access is granted per role: a user whose role has access sees a &lt;em&gt;Switch to NetSuite Next&lt;/em&gt; option in the roles dropdown. A NetSuite Next preview account can be used for 30 days once it is set up, and for eligible customers the sandbox accounts get NetSuite Next at the same time as the primary account.&lt;/p&gt;

&lt;p&gt;That gives integration owners a window. Here is the checklist we would work through (this part is our recommendation, not Oracle's):&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;List every integration and what it touches: API only, server-side scripts, or anything that depends on a form, portlet or client script.&lt;/li&gt;
&lt;li&gt;Check whether your account shows the eligibility banner, and ask for a preview account if it does not.&lt;/li&gt;
&lt;li&gt;In the sandbox, sign in with a role that has NetSuite Next and run each integration's normal flow and one failure case.&lt;/li&gt;
&lt;li&gt;Review the client scripts, form customizations and portlets that change page HTML, and fix only what actually breaks.&lt;/li&gt;
&lt;li&gt;Decide which user roles get NetSuite Next first. Integration-only roles have no need for the new interface, so in our view they can stay as they are.&lt;/li&gt;
&lt;li&gt;Keep your integration monitoring on during the switch, so a change in behaviour shows up as an error and not as missing data.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;NetSuite Next is not the only change worth planning for. Authentication is moving too; see our guide to the &lt;a href="https://integrationstars.com/celigo/blog/netsuite-tba-deprecation/" rel="noopener noreferrer"&gt;NetSuite TBA deprecation&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where AI access fits: Ask Oracle, the AI Connector Service, Celigo and n8n
&lt;/h2&gt;

&lt;p&gt;Ask Oracle is for people working inside NetSuite. If you want an AI assistant such as Claude or ChatGPT to work with NetSuite from outside, that is a different route. Oracle's FAQ says the NetSuite AI Connector Service works alongside Ask Oracle, and that external AI services connected through it do not consume AI units. Oracle also says AI operates within your existing roles and permissions, so it cannot access or act beyond what the user is authorized to do.&lt;/p&gt;

&lt;p&gt;When the access needs to span NetSuite and other systems, or needs tighter, narrower tools, Celigo's MCP Server or n8n are the alternatives. We compare all three in &lt;a href="https://integrationstars.com/celigo/blog/netsuite-mcp-ai-connector-vs-celigo-n8n/" rel="noopener noreferrer"&gt;NetSuite MCP: AI Connector vs Celigo vs n8n&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  What we could not verify
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Oracle's FAQ page shows no date, so we cannot say when it was last updated.&lt;/li&gt;
&lt;li&gt;It does not discuss SuiteTalk, REST API behaviour, API versions or rate limits for NetSuite Next. Treat "same connectivity" as Oracle's statement of intent and confirm it in your own sandbox.&lt;/li&gt;
&lt;li&gt;It mentions agents only in the overview, with no detail on how they work or are licensed.&lt;/li&gt;
&lt;li&gt;Features arrive in phases, so what your account can do today may differ from what the FAQ describes.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Source
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/article_7130219835.html" rel="noopener noreferrer"&gt;NetSuite Next FAQ&lt;/a&gt; (Oracle NetSuite Help), read October 23, 2026&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;em&gt;Entech Solutions is a certified Celigo partner that builds and tests NetSuite integrations. If you want a second pair of eyes on your integrations before NetSuite Next reaches your account, see our &lt;a href="https://integrationstars.com/celigo/integrations/netsuite" rel="noopener noreferrer"&gt;NetSuite integration page&lt;/a&gt; or &lt;a href="mailto:hello@integrationstars.com"&gt;get in touch&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>netsuite</category>
      <category>ai</category>
      <category>integration</category>
      <category>erp</category>
    </item>
    <item>
      <title>NetSuite MCP in 2026: Native AI Connector, Celigo MCP Server or n8n?</title>
      <dc:creator>Andrey Tverdomed</dc:creator>
      <pubDate>Tue, 20 Oct 2026 13:32:20 +0000</pubDate>
      <link>https://dev.to/entechsolutions/netsuite-mcp-in-2026-native-ai-connector-celigo-mcp-server-or-n8n-25jf</link>
      <guid>https://dev.to/entechsolutions/netsuite-mcp-in-2026-native-ai-connector-celigo-mcp-server-or-n8n-25jf</guid>
      <description>&lt;p&gt;&lt;em&gt;Originally published on &lt;a href="https://integrationstars.com/celigo/blog/netsuite-mcp-ai-connector-vs-celigo-n8n/" rel="noopener noreferrer"&gt;integrationstars.com&lt;/a&gt;. Based on Oracle's documentation as reviewed on October 15, 2026.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;NetSuite MCP means letting an AI assistant such as Claude or ChatGPT work with NetSuite through the Model Context Protocol. NetSuite now does this natively: its AI Connector Service, with the MCP Standard Tools SuiteApp, gives an AI client tools for records, reports, saved searches and SuiteQL under the signed-in user's role. Celigo's MCP Server and n8n's MCP Server Trigger are the alternatives when the tools need to span other systems or be narrower and more tightly controlled. Our view: native for NetSuite-only, role-based work; Celigo or n8n when you need purpose-built tools.&lt;/p&gt;

&lt;h2&gt;
  
  
  What NetSuite's native MCP support is
&lt;/h2&gt;

&lt;p&gt;Oracle's documentation says NetSuite has adopted the Model Context Protocol so that supported AI clients can access and interact with NetSuite data and functionality. In practice that is two pieces. The &lt;strong&gt;NetSuite AI Connector Service&lt;/strong&gt; is the MCP endpoint. The &lt;strong&gt;MCP Standard Tools SuiteApp&lt;/strong&gt; is the set of tools NetSuite ships for it, and you can build your own custom tools as well.&lt;/p&gt;

&lt;p&gt;Oracle lists the standard tools in four groups:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Records:&lt;/strong&gt; create a record, get a record, update a record, and get record-type metadata including fields and data types.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reports:&lt;/strong&gt; list all standard and custom reports, run a report, and list the accounting books, accounting contexts, nexuses and subsidiaries used to filter report results.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Saved searches:&lt;/strong&gt; list saved searches and run an existing one.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SuiteQL:&lt;/strong&gt; run a custom SuiteQL query (Oracle says only read-only queries are supported) and get SuiteQL metadata.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Two points from Oracle's pages matter most. First, the SuiteApp "includes tools that can create and update records in NetSuite using REST Web Services," so a connected assistant is not read-only by default. Second, access follows the role: the tools use the same access controls as the NetSuite UI and don't provide access beyond what the role allows, and a tool shows up in the AI client only if the role has all the permissions it needs.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Oracle says about roles, setup and logging
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Permissions.&lt;/strong&gt; Roles that already have the MCP Server Connection permission can perform actions on any records available through REST, if their permissions allow. Oracle suggests reviewing which users and roles hold that permission before installing the SuiteApp, and creating a separate role with the permission plus specific record permissions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Which role you sign in with.&lt;/strong&gt; For ChatGPT, Oracle's instructions say to select a non-administrator role. For Claude, Oracle says you need the Pro plan or higher.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Integration record.&lt;/strong&gt; The first connection from Claude installs an integration record (Public Client, Authorization Code Grant, with the AI Connector Service scope). Its State and Concurrency Limit fields can be edited.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Logging.&lt;/strong&gt; An AI Connector Service (MCP) subtab in the execution log shows call date and time, duration, status, user email, HTTP status code, method and URL path, kept for 21 days in production and 7 in sandbox.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Compliance.&lt;/strong&gt; Oracle states the service has not been assessed for HIPAA compliance and must not be used for ePHI unless you have independently determined that use is consistent with your obligations.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  NetSuite AI Connector vs Celigo MCP Server vs n8n
&lt;/h2&gt;

&lt;p&gt;The three are not interchangeable. The difference is who decides what the AI can ask for.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;NetSuite AI Connector&lt;/th&gt;
&lt;th&gt;Celigo MCP Server&lt;/th&gt;
&lt;th&gt;n8n MCP Server Trigger&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;What it reaches&lt;/td&gt;
&lt;td&gt;NetSuite, through the MCP Standard Tools SuiteApp or your own custom tools&lt;/td&gt;
&lt;td&gt;Systems connected in Celigo, such as NetSuite and Salesforce&lt;/td&gt;
&lt;td&gt;Whatever your workflows touch&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Who defines the tools&lt;/td&gt;
&lt;td&gt;Oracle ships the standard tools; you can build custom ones&lt;/td&gt;
&lt;td&gt;You, as a set of queries with fixed inputs and outputs&lt;/td&gt;
&lt;td&gt;You, as workflows&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Access control&lt;/td&gt;
&lt;td&gt;The signed-in user's NetSuite role, via the MCP Server Connection permission&lt;/td&gt;
&lt;td&gt;A scoped token managed by Celigo; read-only enforced at the MCP layer&lt;/td&gt;
&lt;td&gt;Bearer token on the trigger endpoint; OAuth for instance-level access&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Can it write?&lt;/td&gt;
&lt;td&gt;Yes, create and update tools exist; SuiteQL is read-only&lt;/td&gt;
&lt;td&gt;Only if you define a write; read-only tokens block writes&lt;/td&gt;
&lt;td&gt;Only if you build one; best added behind validation and approval&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Logging&lt;/td&gt;
&lt;td&gt;Execution log: time, duration, status, user email, HTTP status, method, URL path&lt;/td&gt;
&lt;td&gt;Each query: timestamp, model or token identity, input parameters, response hash&lt;/td&gt;
&lt;td&gt;n8n's execution history for each workflow run&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Setup effort&lt;/td&gt;
&lt;td&gt;Install the SuiteApp, set up a role, connect the client&lt;/td&gt;
&lt;td&gt;Define the queries and tokens in Celigo&lt;/td&gt;
&lt;td&gt;Build and test the workflows&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Which one to use
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Start native when the work is NetSuite-only and the users already have the right roles.&lt;/strong&gt; Finance and operations staff asking questions of their own data, with NetSuite's permissions doing the gatekeeping, is what it is built for.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Choose Celigo's MCP Server when the tools must be narrow and read-only by design, or span systems.&lt;/strong&gt; "Order status by order number" and "inventory by SKU" as fixed queries are a smaller surface than a role that can reach every record.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Choose n8n when the tool needs logic.&lt;/strong&gt; Validation, joining NetSuite with another system, transformation, or a human approval step before a write are workflow jobs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Combine them.&lt;/strong&gt; Native for exploratory questions, Celigo or n8n for the governed tools an agent uses repeatedly.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What stays your problem with any of them
&lt;/h2&gt;

&lt;p&gt;Whatever sits between the AI and NetSuite, the AI reads what is in NetSuite. A customer memo or item description containing hidden instructions can steer a model, and a role that can reach too much quietly undoes the scoping. Our &lt;a href="https://integrationstars.com/celigo/blog/celigo-mcp-security/" rel="noopener noreferrer"&gt;MCP security article&lt;/a&gt; covers the risks, and our &lt;a href="https://integrationstars.com/celigo/blog/system-of-action-ai-agents-erp/" rel="noopener noreferrer"&gt;system of record vs system of action guide&lt;/a&gt; explains why we put the control in a layer you own.&lt;/p&gt;

&lt;h2&gt;
  
  
  Need help choosing?
&lt;/h2&gt;

&lt;p&gt;Entech Solutions is a certified Celigo partner and builds n8n workflows, including governed AI access to NetSuite. See our &lt;a href="https://integrationstars.com/celigo/ai-agents-mcp" rel="noopener noreferrer"&gt;AI Agents and MCP Server page&lt;/a&gt;, or &lt;a href="mailto:hello@integrationstars.com"&gt;talk to an integration expert&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Sources (Oracle NetSuite Help): &lt;a href="https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/article_3200541651.html" rel="noopener noreferrer"&gt;Get Started with the NetSuite AI Connector Service&lt;/a&gt;, &lt;a href="https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/article_143403258.html" rel="noopener noreferrer"&gt;MCP Standard Tools SuiteApp&lt;/a&gt;, &lt;a href="https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/article_0902023508.html" rel="noopener noreferrer"&gt;Available Tools in the MCP Standard Tools SuiteApp&lt;/a&gt;, &lt;a href="https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_0714082142.html" rel="noopener noreferrer"&gt;Connect to the NetSuite AI Connector Service&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>netsuite</category>
      <category>mcp</category>
      <category>ai</category>
      <category>automation</category>
    </item>
    <item>
      <title>n8n Pricing in 2026: What Each Plan Costs and What You Actually Get</title>
      <dc:creator>Andrey Tverdomed</dc:creator>
      <pubDate>Fri, 16 Oct 2026 16:35:46 +0000</pubDate>
      <link>https://dev.to/entechsolutions/n8n-pricing-in-2026-what-each-plan-costs-and-what-you-actually-get-2amg</link>
      <guid>https://dev.to/entechsolutions/n8n-pricing-in-2026-what-each-plan-costs-and-what-you-actually-get-2amg</guid>
      <description>&lt;p&gt;&lt;em&gt;Originally published on &lt;a href="https://integrationstars.com/n8n/blog/n8n-pricing/" rel="noopener noreferrer"&gt;integrationstars.com&lt;/a&gt;. Figures checked on n8n.io/pricing on October 15, 2026.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;n8n pricing in one paragraph:&lt;/strong&gt; n8n Cloud costs €20 a month (Starter, 2,500 workflow executions), €50 a month (Pro, 10,000) or €667 a month (Business, 40,000, self-hosted only), all billed annually, and Enterprise is by quote. The self-hosted Community Edition is free to download, but you pay for the server and for running it. n8n counts one execution per workflow run, however many steps it has.&lt;/p&gt;

&lt;h2&gt;
  
  
  n8n pricing at a glance
&lt;/h2&gt;

&lt;p&gt;These are the plans on n8n's own pricing page as of October 15, 2026. The page shows prices in euros, defaults to annual billing, and doesn't show an effective date, so confirm on the live page before you buy.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Plan&lt;/th&gt;
&lt;th&gt;Price&lt;/th&gt;
&lt;th&gt;Executions a month&lt;/th&gt;
&lt;th&gt;Hosting&lt;/th&gt;
&lt;th&gt;Shared projects&lt;/th&gt;
&lt;th&gt;Concurrent executions&lt;/th&gt;
&lt;th&gt;Max run time&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Starter&lt;/td&gt;
&lt;td&gt;€20 a month, billed annually&lt;/td&gt;
&lt;td&gt;2,500&lt;/td&gt;
&lt;td&gt;Hosted by n8n&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;5 minutes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Pro&lt;/td&gt;
&lt;td&gt;€50 a month, billed annually&lt;/td&gt;
&lt;td&gt;10,000&lt;/td&gt;
&lt;td&gt;Hosted by n8n&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;Up to 50&lt;/td&gt;
&lt;td&gt;40 minutes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Business&lt;/td&gt;
&lt;td&gt;€667 a month, billed annually&lt;/td&gt;
&lt;td&gt;40,000&lt;/td&gt;
&lt;td&gt;Self-hosted only (cloud on a waitlist)&lt;/td&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;Not listed&lt;/td&gt;
&lt;td&gt;Not listed&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Enterprise&lt;/td&gt;
&lt;td&gt;Contact sales&lt;/td&gt;
&lt;td&gt;Custom&lt;/td&gt;
&lt;td&gt;Hosted by n8n or self-hosted&lt;/td&gt;
&lt;td&gt;Unlimited&lt;/td&gt;
&lt;td&gt;200+&lt;/td&gt;
&lt;td&gt;40 minutes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Community Edition&lt;/td&gt;
&lt;td&gt;Free&lt;/td&gt;
&lt;td&gt;Not metered&lt;/td&gt;
&lt;td&gt;Self-hosted&lt;/td&gt;
&lt;td&gt;n/a&lt;/td&gt;
&lt;td&gt;n/a&lt;/td&gt;
&lt;td&gt;n/a&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;All plans list unlimited users and unlimited active workflows. Starter support is forum-only. The Cloud free trial includes 1,000 executions. Companies under 20 employees may qualify for a startup plan that n8n describes as 50% off Business.&lt;/p&gt;

&lt;h2&gt;
  
  
  How n8n counts an execution
&lt;/h2&gt;

&lt;p&gt;An execution is one run of the entire workflow. n8n's pricing page states that it doesn't matter how many steps the workflow has or how much data it processes, and it does not bill per step. A workflow with twelve nodes that fires 2,000 times in a month is 2,000 executions. A loop that handles 500 records inside one run is still one execution.&lt;/p&gt;

&lt;p&gt;That is the opposite of per-task billing, where every action in a run counts. Our &lt;a href="https://integrationstars.com/n8n/blog/n8n-vs-zapier/" rel="noopener noreferrer"&gt;n8n vs Zapier&lt;/a&gt; and &lt;a href="https://integrationstars.com/n8n/blog/n8n-vs-make/" rel="noopener noreferrer"&gt;n8n vs Make&lt;/a&gt; comparisons show how the three tools meter usage and what that does to the bill.&lt;/p&gt;

&lt;h2&gt;
  
  
  How often a workflow runs decides the plan
&lt;/h2&gt;

&lt;p&gt;Because each run is one execution, the schedule matters more than the number of nodes. These are straight multiplications for one workflow over a 30-day month:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Runs&lt;/th&gt;
&lt;th&gt;Executions a month&lt;/th&gt;
&lt;th&gt;Fits within&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Every 30 minutes&lt;/td&gt;
&lt;td&gt;1,440&lt;/td&gt;
&lt;td&gt;Starter (2,500)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Every 15 minutes&lt;/td&gt;
&lt;td&gt;2,880&lt;/td&gt;
&lt;td&gt;Pro (10,000)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Every 5 minutes&lt;/td&gt;
&lt;td&gt;8,640&lt;/td&gt;
&lt;td&gt;Pro (10,000)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Every minute&lt;/td&gt;
&lt;td&gt;43,200&lt;/td&gt;
&lt;td&gt;Above Business (40,000)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;So a single polling workflow can outgrow Starter. Webhook-triggered workflows count one execution per incoming event, which makes volume harder to predict. If you can switch a poll to a webhook, or poll less often, you can stay on a smaller plan.&lt;/p&gt;

&lt;h2&gt;
  
  
  Three worked examples
&lt;/h2&gt;

&lt;p&gt;These are illustrations built from the plan limits above, not quotes.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Small team, three light workflows.&lt;/strong&gt; Lead routing runs 1,200 times a month, invoice notifications 600 and a weekly report 4. That is 1,804 executions, inside Starter's 2,500. Cost: €20 a month, or €240 a year billed annually.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;One production sync every 5 minutes.&lt;/strong&gt; 288 runs a day over 30 days is 8,640 executions. That is over Starter and inside Pro's 10,000, with about 1,360 left for everything else. Cost: €50 a month, or €600 a year.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;An agent that answers every customer message.&lt;/strong&gt; At 15,000 messages a month, one execution each, you are above Pro's 10,000. Business covers 40,000 but is self-hosted only, at €667 a month, about €8,004 a year, plus your own infrastructure. Enterprise is by quote. Batching or filtering messages before they trigger a run can change the answer.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What happens if you go over
&lt;/h2&gt;

&lt;p&gt;According to n8n's pricing page, workflows keep running after you pass the quota, and overage charges may apply if you don't upgrade. Unpaid overages are invoiced 45 days after they occur. On Business, the page lists an overage of €4,000 for each extra bucket of 300,000 executions. Monthly plans can be cancelled at any time, effective at the end of the billing cycle. Annual plans run to the end of the term, and n8n states that it offers no pro-rata refunds.&lt;/p&gt;

&lt;h2&gt;
  
  
  Self-hosted n8n: free software, not free to run
&lt;/h2&gt;

&lt;p&gt;The Community Edition is a standard self-hosted version of n8n available on GitHub, and downloading it costs nothing. What you pay for is everything around it: a server, backups, updates, security patches, monitoring, and someone responsible when it goes down. As a rule of thumb, self-hosting tends to win when you have in-house DevOps skills, high run volumes, or data you must keep on your own infrastructure. Hosted plans win when you want no maintenance.&lt;/p&gt;

&lt;p&gt;One detail worth knowing before you commit: n8n says Business and Enterprise license keys must contact its license server daily, and that this ping includes production execution counts. Telemetry is on by default and can be turned off.&lt;/p&gt;

&lt;h2&gt;
  
  
  Limits to check before you buy
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Polling schedules.&lt;/strong&gt; See the table above. Add up every scheduled workflow, not just the biggest.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Concurrency and run time.&lt;/strong&gt; Starter allows 5 concurrent executions and 5-minute runs, which long AI or batch workflows can exceed.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Log retention.&lt;/strong&gt; 7 days on Starter and 30 days on Pro, per the page. Debugging an old failure needs enough retention.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI Assistant credits.&lt;/strong&gt; Starter lists 1,600 a month and Pro up to 9,600, and they refresh monthly without rolling over.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The page contradicts itself in places.&lt;/strong&gt; The Pro card says up to 50 concurrent executions while the feature table shows "20 / 50", and the FAQ gives Assistant credits as "4,000 or 9,600, depending on your plan size". Confirm the figure that matters to you before paying.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Need help choosing or running n8n?
&lt;/h2&gt;

&lt;p&gt;Entech Solutions has built on n8n for over two years, including AI-agent and NetSuite workflows. See our &lt;a href="https://integrationstars.com/n8n/" rel="noopener noreferrer"&gt;n8n automation services&lt;/a&gt;, our guide to &lt;a href="https://integrationstars.com/n8n/blog/n8n-error-handling/" rel="noopener noreferrer"&gt;n8n error handling&lt;/a&gt;, or &lt;a href="mailto:hello@integrationstars.com"&gt;get in touch&lt;/a&gt; and we'll tell you which plan, or which hosting model, fits your volume.&lt;/p&gt;

&lt;p&gt;Source: &lt;a href="https://n8n.io/pricing/" rel="noopener noreferrer"&gt;n8n pricing page&lt;/a&gt;, checked October 15, 2026.&lt;/p&gt;

</description>
      <category>n8n</category>
      <category>automation</category>
      <category>selfhosted</category>
      <category>devops</category>
    </item>
    <item>
      <title>Celigo MCP Server Security: What It Blocks, What It Doesn't</title>
      <dc:creator>Andrey Tverdomed</dc:creator>
      <pubDate>Thu, 15 Oct 2026 17:30:18 +0000</pubDate>
      <link>https://dev.to/entechsolutions/celigo-mcp-server-security-what-it-blocks-what-it-doesnt-2b6i</link>
      <guid>https://dev.to/entechsolutions/celigo-mcp-server-security-what-it-blocks-what-it-doesnt-2b6i</guid>
      <description>&lt;p&gt;&lt;em&gt;Originally published on &lt;a href="https://integrationstars.com/celigo/blog/celigo-mcp-security/" rel="noopener noreferrer"&gt;integrationstars.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Security teams are right to be wary of connecting AI agents to real business systems. Every tool an agent can call widens what an attacker can reach through it, and security researchers have spent 2026 documenting exactly how: &lt;strong&gt;prompt injection&lt;/strong&gt; (instructions hidden in content the AI reads) and &lt;strong&gt;tool poisoning&lt;/strong&gt; (instructions hidden in a tool's own description). If you're deciding whether to let an AI assistant query NetSuite through Celigo's MCP Server, the useful question isn't "is MCP safe?" It's "which of these risks does Celigo's layer close, and which ones are still mine to design around?"&lt;/p&gt;

&lt;h2&gt;
  
  
  At a glance
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Closed by the platform:&lt;/strong&gt; credential exposure (the AI authenticates with a scoped token; NetSuite credentials never reach the model), write damage (read-only tokens are enforced at the MCP layer), and unlimited reach (the AI can only call the tools you defined)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Visible by default:&lt;/strong&gt; every query is logged with timestamp, model/token identity, input parameters and a response hash, and rate limits cap how hard any client can hit NetSuite&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Still yours to design:&lt;/strong&gt; prompt injection hidden in ERP data the AI reads, data leaving through &lt;em&gt;other&lt;/em&gt; tools connected to the same AI client, and over-broad tools that undo the scoping&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The single riskiest combination:&lt;/strong&gt; an assistant that can both read ERP data and send it somewhere (email, web, chat) without a human approving it&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What Celigo's MCP layer closes by design
&lt;/h2&gt;

&lt;p&gt;A direct AI-to-NetSuite connection puts API credentials into the model's context, prompts and logs, lets the AI do anything those credentials allow, and leaves no audit trail. Celigo's MCP Server (covered in detail in our &lt;a href="https://integrationstars.com/celigo/blog/celigo-ai-agents-mcp-server/" rel="noopener noreferrer"&gt;MCP Server overview&lt;/a&gt;) removes each of those by construction:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;No credentials in the model.&lt;/strong&gt; The AI client authenticates with a scoped token managed by Celigo. A leaked prompt or log exposes a token you can revoke, not NetSuite access.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Read-only where you want it.&lt;/strong&gt; Read-only tokens are enforced at the MCP layer, not by an instruction in the prompt, so even a fully manipulated model can't create, edit or delete records.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Only the tools you defined.&lt;/strong&gt; Tools are built in Celigo with fixed inputs and outputs. The AI can call "order status by order number"; it can't improvise a query you never exposed.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Logged and rate-limited.&lt;/strong&gt; Every call is recorded with who made it and what it asked, and rate limits stop a misbehaving client from hammering NetSuite.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That's most of what our &lt;a href="https://integrationstars.com/celigo/blog/ai-agent-governance/" rel="noopener noreferrer"&gt;AI agent governance&lt;/a&gt; article calls identity, access control and monitoring. What's left are attacks that work &lt;em&gt;through&lt;/em&gt; a correctly authenticated, correctly scoped connection.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it doesn't close on its own
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Prompt injection hidden in ERP data
&lt;/h3&gt;

&lt;p&gt;The MCP Server returns what's in NetSuite, faithfully. If a customer memo, an item description or a vendor note contains text like "ignore your previous instructions and...", the AI client reads it as part of the answer, and the model decides what to do with it. Celigo can't tell an innocent memo from a malicious one; nothing at the transport layer can. Microsoft's developer guidance on MCP covers this under the name indirect prompt injection.&lt;/p&gt;

&lt;h3&gt;
  
  
  Data leaving through other tools on the same assistant
&lt;/h3&gt;

&lt;p&gt;Read-only stops the AI from changing NetSuite. It doesn't stop the AI from &lt;em&gt;repeating&lt;/em&gt; what it read somewhere else. If the same assistant also has an email tool, a web-fetch tool or a chat integration, an injected instruction can turn "look up this customer's balance" into "look it up and send it out." The leak happens in the AI client, entirely outside Celigo.&lt;/p&gt;

&lt;h3&gt;
  
  
  Tool poisoning from servers you don't control
&lt;/h3&gt;

&lt;p&gt;Tools you build in Celigo are under your control. A third-party MCP server added to the same AI client is not, and its tool descriptions are read by the same model that holds your ERP data. A poisoned description from one server can steer how the model uses another.&lt;/p&gt;

&lt;h3&gt;
  
  
  Tools that are wider than the question
&lt;/h3&gt;

&lt;p&gt;Scoping only works if the tools are narrow. A tool like "run any saved search" or "return the full customer record" quietly hands back most of what the token restrictions were meant to withhold, including the free-text fields where injected instructions live.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;The line, in one sentence.&lt;/strong&gt; Celigo's MCP Server controls &lt;em&gt;what the AI can reach and do in NetSuite&lt;/em&gt;. It can't control &lt;em&gt;what the AI does with what it read&lt;/em&gt;. That's decided by the AI client and the other tools connected to it.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  The design choices that close the gap
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;One question per tool.&lt;/strong&gt; "Inventory by SKU" returning quantity and location, not "item lookup" returning everything. Fewer fields returned means less room for hidden instructions and less to leak.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Leave free-text fields out unless the question needs them.&lt;/strong&gt; Memos, notes and descriptions are where injected text lives. Numbers, dates and statuses are safe to return; prose is a decision.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Keep ERP access off assistants with outbound tools,&lt;/strong&gt; or require a person to approve anything that assistant sends, posts or emails.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Don't mix servers casually.&lt;/strong&gt; An assistant that queries NetSuite shouldn't also load arbitrary third-party MCP servers.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;One token per AI client.&lt;/strong&gt; Then every line in Celigo's query log points to a single assistant, and revoking one doesn't break the others.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Actually read the log.&lt;/strong&gt; A weekly look at query volume and unusual parameters catches misuse that no single call would flag.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Is Celigo's MCP Server secure enough to connect an AI assistant to NetSuite?&lt;/strong&gt; It removes the biggest risks of a direct connection: no credentials in the model, read-only enforcement, every query logged. Prompt injection in returned data and leaks through other tools on the same assistant depend on how the tools and client are set up.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is prompt injection in an MCP setup?&lt;/strong&gt; Instructions hidden in content the AI reads, which in an ERP setup is often a free-text field on a record. Narrow tools that return only the fields a question needs shrink the risk.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is tool poisoning?&lt;/strong&gt; Malicious instructions in a tool's name or description. The risk mostly comes from third-party MCP servers connected to the same AI client, not from tools you define in Celigo.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Should the AI that queries NetSuite also be able to send email or browse?&lt;/strong&gt; Not without a human approval step. Read access plus an outbound channel is what turns an injection into a data leak.&lt;/p&gt;

&lt;h2&gt;
  
  
  Need this built?
&lt;/h2&gt;

&lt;p&gt;Entech Solutions builds governed AI access to NetSuite and Salesforce on Celigo, including the tool design and client setup that decide how exposed you actually are. See our &lt;a href="https://integrationstars.com/celigo/ai-agents-mcp" rel="noopener noreferrer"&gt;AI Agents and MCP page&lt;/a&gt;, or &lt;a href="mailto:hello@integrationstars.com"&gt;get in touch&lt;/a&gt; to review a planned setup before it goes live.&lt;/p&gt;

&lt;p&gt;Further reading: &lt;a href="https://developer.microsoft.com/blog/protecting-against-indirect-injection-attacks-mcp/" rel="noopener noreferrer"&gt;Microsoft: Protecting against indirect prompt injection attacks in MCP&lt;/a&gt; and &lt;a href="https://labs.cloudsecurityalliance.org/agentic/agentic-mcp-security-best-practices-v1/" rel="noopener noreferrer"&gt;Cloud Security Alliance: Agentic MCP Security Best Practices&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>mcp</category>
      <category>security</category>
      <category>ai</category>
      <category>netsuite</category>
    </item>
    <item>
      <title>Race Conditions in n8n AI Agent Workflows (and the Fix)</title>
      <dc:creator>Andrey Tverdomed</dc:creator>
      <pubDate>Tue, 13 Oct 2026 16:22:39 +0000</pubDate>
      <link>https://dev.to/entechsolutions/race-conditions-in-n8n-ai-agent-workflows-and-the-fix-549d</link>
      <guid>https://dev.to/entechsolutions/race-conditions-in-n8n-ai-agent-workflows-and-the-fix-549d</guid>
      <description>&lt;p&gt;&lt;em&gt;Originally published on &lt;a href="https://integrationstars.com/n8n/blog/n8n-agent-race-conditions/" rel="noopener noreferrer"&gt;integrationstars.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The short version:&lt;/strong&gt; check shared state (a calendar, a stock count, a CRM record), then act on it, with nothing stopping a second execution from checking in between. An AI step stretches that window from milliseconds to seconds. The fix is to claim before you act, give every business action an idempotency key, and re-check the real system right before the final write. A better prompt, a stricter model or n8n queue mode will not fix it, and queue mode makes races more likely because it adds parallelism.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this keeps happening
&lt;/h2&gt;

&lt;p&gt;A popular n8n appointment-booking workflow shared on LinkedIn this month drew the same comment from at least seven different engineers: what happens when two people ask for the same slot at once? The answer, in almost every check-then-act workflow, is that both get it.&lt;/p&gt;

&lt;p&gt;n8n runs every incoming request as its own execution, and executions run in parallel. Execution A reads the calendar: 3pm free. Execution B reads the calendar: 3pm free. A books 3pm. B books 3pm. Each step did exactly what it was built to do. The failure lives in the gap between them, which is why it never shows up in testing, where requests arrive one at a time.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why the AI step makes it worse
&lt;/h2&gt;

&lt;p&gt;In a plain workflow, check and act might sit a few hundred milliseconds apart. Put an AI Agent node between them (reading the request, deciding which slot fits, calling a tool, maybe confirming with the user) and that gap grows to several seconds, sometimes much longer when there's a conversation in between. The probability of a collision grows with that window. An agent that works flawlessly in a demo can double-book within its first busy hour.&lt;/p&gt;

&lt;p&gt;Agents also add their own duplicates: a model may call the same booking tool twice in one run, or a timeout makes the workflow retry a call that actually succeeded. Neither is the model "making a mistake" in a way a better prompt fixes. They're ordinary distributed-systems problems arriving through a new door.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where duplicate and parallel runs come from
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Simultaneous requests:&lt;/strong&gt; two users, two webhook calls, two executions, same resource&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Webhook redelivery:&lt;/strong&gt; senders like Stripe, and most webhook providers, resend an event if they don't get a fast enough response&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Retry On Fail:&lt;/strong&gt; n8n's node-level retry re-runs a step after a timeout, even if the first attempt actually went through on the other side&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Agent tool calls:&lt;/strong&gt; the model calls the same tool twice, or a second agent run picks up the same task&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Queue mode with multiple workers:&lt;/strong&gt; more executions in parallel by design&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The fix: claim first, key every action, re-check before writing
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Claim the resource before acting on it
&lt;/h3&gt;

&lt;p&gt;Instead of "check, then book", the workflow first tries to &lt;strong&gt;claim&lt;/strong&gt; the slot in a store that refuses a second claim. Only the execution that wins the claim continues. In Postgres that's a single insert against a unique constraint:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="k"&gt;INSERT&lt;/span&gt; &lt;span class="k"&gt;INTO&lt;/span&gt; &lt;span class="n"&gt;slot_claims&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;slot_id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;execution_id&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;VALUES&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'2026-10-08T15:00'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'EXECUTION_ID'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;ON&lt;/span&gt; &lt;span class="n"&gt;CONFLICT&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;slot_id&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;DO&lt;/span&gt; &lt;span class="k"&gt;NOTHING&lt;/span&gt;
&lt;span class="n"&gt;RETURNING&lt;/span&gt; &lt;span class="n"&gt;slot_id&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;(In n8n, &lt;code&gt;EXECUTION_ID&lt;/code&gt; is the expression for the current execution's id.)&lt;/p&gt;

&lt;p&gt;If a row comes back, this execution owns the slot. If nothing comes back, someone else got there first, so route to a clean "that time was just taken" response. A Redis key set only if it doesn't already exist does the same job. What matters is that the database or Redis makes the decision atomically, not an IF node comparing two values that may already be stale.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Give every business action an idempotency key
&lt;/h3&gt;

&lt;p&gt;Build one ID per real-world action (the booking request ID, the order ID, the webhook event ID), record it before the side effect, and check it first on every attempt. When the webhook resends, the retry fires, or the agent calls the tool again, the second attempt sees the key is already done and stops instead of booking or charging twice. Where the downstream API accepts an idempotency key of its own (Stripe does), pass it through as well.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Re-check the real system right before the final write
&lt;/h3&gt;

&lt;p&gt;Your claim table protects against other runs of &lt;em&gt;this&lt;/em&gt; workflow. It doesn't know about someone booking the same slot directly in the calendar app. A last read immediately before the write, and a clear failure path if the slot is gone, covers what the claim can't.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Let the agent decide, not commit.&lt;/strong&gt; The cleanest structure keeps the AI out of the critical section entirely: the agent figures out &lt;em&gt;what&lt;/em&gt; the user wants, then hands a structured request to a plain, deterministic sub-workflow that does claim, re-check, book. The slow, unpredictable part stays outside the window where races happen.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  When the booking fails: release the claim, confirm the key
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;Added October 15, 2026, after a reader pointed out that the fix above leaves two failure paths open.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The claim and the idempotency key both prevent duplicates, but each can leave a stuck record if the booking call fails or times out after them. Close both.&lt;/p&gt;

&lt;h3&gt;
  
  
  Give the claim a status and a clock
&lt;/h3&gt;

&lt;p&gt;If an execution wins the claim and the calendar call then fails, the plain insert above leaves the row behind and the slot is blocked for everyone until someone deletes it by hand. Add a status and a timestamp, and let a lost claim be taken again:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="k"&gt;CREATE&lt;/span&gt; &lt;span class="k"&gt;TABLE&lt;/span&gt; &lt;span class="n"&gt;slot_claims&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
  &lt;span class="n"&gt;slot_id&lt;/span&gt;      &lt;span class="nb"&gt;text&lt;/span&gt; &lt;span class="k"&gt;PRIMARY&lt;/span&gt; &lt;span class="k"&gt;KEY&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="n"&gt;execution_id&lt;/span&gt; &lt;span class="nb"&gt;text&lt;/span&gt; &lt;span class="k"&gt;NOT&lt;/span&gt; &lt;span class="k"&gt;NULL&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="n"&gt;status&lt;/span&gt;       &lt;span class="nb"&gt;text&lt;/span&gt; &lt;span class="k"&gt;NOT&lt;/span&gt; &lt;span class="k"&gt;NULL&lt;/span&gt; &lt;span class="k"&gt;DEFAULT&lt;/span&gt; &lt;span class="s1"&gt;'claimed'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;  &lt;span class="c1"&gt;-- claimed, booked, released&lt;/span&gt;
  &lt;span class="n"&gt;claimed_at&lt;/span&gt;   &lt;span class="n"&gt;timestamptz&lt;/span&gt; &lt;span class="k"&gt;NOT&lt;/span&gt; &lt;span class="k"&gt;NULL&lt;/span&gt; &lt;span class="k"&gt;DEFAULT&lt;/span&gt; &lt;span class="n"&gt;now&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="c1"&gt;-- claim: succeeds on a new slot, or on a slot that was released&lt;/span&gt;
&lt;span class="k"&gt;INSERT&lt;/span&gt; &lt;span class="k"&gt;INTO&lt;/span&gt; &lt;span class="n"&gt;slot_claims&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;slot_id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;execution_id&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;VALUES&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'2026-10-08T15:00'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'EXECUTION_ID'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;ON&lt;/span&gt; &lt;span class="n"&gt;CONFLICT&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;slot_id&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;DO&lt;/span&gt; &lt;span class="k"&gt;UPDATE&lt;/span&gt;
  &lt;span class="k"&gt;SET&lt;/span&gt; &lt;span class="n"&gt;execution_id&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;EXCLUDED&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;execution_id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;status&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;'claimed'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;claimed_at&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;now&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
  &lt;span class="k"&gt;WHERE&lt;/span&gt; &lt;span class="n"&gt;slot_claims&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;status&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;'released'&lt;/span&gt;
&lt;span class="n"&gt;RETURNING&lt;/span&gt; &lt;span class="n"&gt;slot_id&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then use the status on every path. When the booking succeeds, set it to &lt;code&gt;booked&lt;/code&gt;. When it fails, the error path sets it to &lt;code&gt;released&lt;/code&gt; so the slot comes back. For claims that never reached either (the workflow crashed, or the call hung), run a scheduled cleanup that frees claims still &lt;code&gt;claimed&lt;/code&gt; after longer than a booking should take. One caution: a timeout does not prove the booking failed, so check the real calendar before releasing, or you will free a slot that was in fact booked.&lt;/p&gt;

&lt;h3&gt;
  
  
  Record the key as pending, mark it done after confirmation
&lt;/h3&gt;

&lt;p&gt;The mirror problem: if the key is recorded before the side effect and the side effect fails, the retry sees the key and stops, and the booking is lost without a trace. Record the key as &lt;code&gt;pending&lt;/code&gt; first and mark it &lt;code&gt;done&lt;/code&gt; only after the API confirms. A retry then behaves by what it finds:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Key is done:&lt;/strong&gt; stop, the action already happened.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Key is pending and recent:&lt;/strong&gt; another run is working on it, so wait or stop.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Key is pending and old:&lt;/strong&gt; check the real system for the booking first. If it exists, mark the key done. If not, retry the action.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How to test for it before customers do
&lt;/h2&gt;

&lt;p&gt;Fire the same request at the webhook twenty times at once (a short script or a load-testing tool does it in seconds) and count the bookings. One is the right answer. Then resend a single webhook event three times and check that nothing happens twice. Then test the failure path: kill the booking call halfway (a timeout or an error injected after the claim) and check that the slot comes back and that a retry neither double-books nor loses the booking. All three tests take minutes and catch failures that ordinary click-through testing never will.&lt;/p&gt;

&lt;h2&gt;
  
  
  Need this built?
&lt;/h2&gt;

&lt;p&gt;Entech Solutions builds n8n agent workflows that hold up under real traffic: claim-first concurrency, idempotent side effects, and load tests before launch. See our &lt;a href="https://integrationstars.com/n8n/workflows/ai-agentic-workflows/" rel="noopener noreferrer"&gt;n8n AI and agentic workflow design page&lt;/a&gt;, our guide to &lt;a href="https://integrationstars.com/n8n/blog/n8n-error-handling/" rel="noopener noreferrer"&gt;n8n error handling&lt;/a&gt;, or &lt;a href="mailto:hello@integrationstars.com"&gt;get in touch&lt;/a&gt; to review a workflow you already run.&lt;/p&gt;

</description>
      <category>n8n</category>
      <category>automation</category>
      <category>ai</category>
      <category>devops</category>
    </item>
  </channel>
</rss>
