<?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: Athulya R</title>
    <description>The latest articles on DEV Community by Athulya R (@athulya_r).</description>
    <link>https://dev.to/athulya_r</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%2F3626462%2F2c59f927-606d-4f2d-be54-c6620aa83ed7.jpg</url>
      <title>DEV Community: Athulya R</title>
      <link>https://dev.to/athulya_r</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/athulya_r"/>
    <language>en</language>
    <item>
      <title>How to Integrate ToolJet with ServiceNow for Enhanced Operations 🚀</title>
      <dc:creator>Athulya R</dc:creator>
      <pubDate>Tue, 11 Aug 2026 06:50:28 +0000</pubDate>
      <link>https://dev.to/tooljet/how-to-integrate-tooljet-with-servicenow-for-enhanced-operations-1h1j</link>
      <guid>https://dev.to/tooljet/how-to-integrate-tooljet-with-servicenow-for-enhanced-operations-1h1j</guid>
      <description>&lt;p&gt;Most enterprises already run their operations on &lt;a href="https://www.servicenow.com/in/" rel="noopener noreferrer"&gt;ServiceNow&lt;/a&gt;. The question isn't "should we use ServiceNow." That's already decided. The real question is simpler: can teams build the tools they need, faster, without replacing what's already working?&lt;/p&gt;

&lt;p&gt;This piece isn't a feature list. It's what a platform team actually wants when they bring ToolJet in next to ServiceNow, and what's realistically possible today.&lt;/p&gt;

&lt;h2&gt;
  
  
  What enterprises are usually asking for
&lt;/h2&gt;

&lt;p&gt;When a platform team already on &lt;a href="https://tooljet.com/servicenow" rel="noopener noreferrer"&gt;ServiceNow&lt;/a&gt; looks at ToolJet, the ask is almost never "replace ServiceNow." It's usually some version of:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"Our employees need a simpler way to submit and track requests than the ServiceNow portal gives them."&lt;/li&gt;
&lt;li&gt;"We want dashboards that show what's happening across our tickets, without building a whole reporting stack."&lt;/li&gt;
&lt;li&gt;"Can we let people update or close things without training them on ServiceNow itself?"&lt;/li&gt;
&lt;li&gt;"Can our automations kick off from somewhere friendlier than ServiceNow's own forms?"&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In other words: ServiceNow stays the system of record. ToolJet becomes a faster front door for the specific things people do every day.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why teams look for a front door at all
&lt;/h2&gt;

&lt;p&gt;ServiceNow already has its own builders: Creator Studio for forms, UI Builder for pages, Flow Designer for automation. They're capable tools, built for ServiceNow admins who live in the platform daily. That's exactly who they're designed for.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Figure 1. ServiceNow Studio's landing screen, one of several separate builder products.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fml10731pmc88fwwmmteu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fml10731pmc88fwwmmteu.png" alt="ServiceNow Studio's landing screen, one of several separate builder products" width="800" height="403"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Figure 2. Creator Studio's form builder, used to design a record form field by field.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fb5izyjx3384j2utwat4y.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fb5izyjx3384j2utwat4y.png" alt="Creator Studio's form builder, used to design a record form field by field" width="800" height="401"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Figure 3. ServiceNow UI Builder, used to assemble custom pages from components.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Furaibh2cw2rnigf1ptme.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Furaibh2cw2rnigf1ptme.png" alt="ServiceNow UI Builder, used to assemble custom pages from components" width="800" height="399"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Figure 4. Inspecting a component's data and config inside UI Builder.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fn9d80wmvfozhwnckuxvu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fn9d80wmvfozhwnckuxvu.png" alt="Inspecting a component's data and config inside UI Builder" width="800" height="402"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For a smaller, faster internal tool, though, this can feel like a lot of setup. Each one is a separate product with its own learning curve, and a simple request form can mean hopping between two or three of them just to ship one thing.&lt;/p&gt;

&lt;p&gt;ToolJet's role here isn't "better than ServiceNow's tools." It's a different tradeoff: one canvas, simpler building blocks, and a shorter path from idea to working app, for the kinds of internal tools that don't need everything ServiceNow's native builders offer.&lt;/p&gt;

&lt;h2&gt;
  
  
  ServiceNow App Engine vs ToolJet
&lt;/h2&gt;

&lt;p&gt;This is usually the first question a ServiceNow team asks, since App Engine Studio is ServiceNow's own answer to "build apps faster." It's a fair comparison to make, and worth being direct about.&lt;/p&gt;

&lt;p&gt;App Engine Studio is a capable low-code builder, and if a team is already deep in the ServiceNow ecosystem and wants everything to stay inside it, that's a reasonable choice. It's built and governed the way the rest of ServiceNow is.&lt;/p&gt;

&lt;p&gt;A few practical differences are worth knowing before assuming App Engine is the default answer:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Self-hosted is an option with ToolJet, not with App Engine.&lt;/strong&gt; App Engine only runs inside ServiceNow's own cloud. ToolJet is open source and can be self-hosted, which matters for teams with data residency requirements or a preference for running their own infrastructure.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cost tends to work differently.&lt;/strong&gt; App Engine Studio typically carries its own per-app or per-user licensing on top of a ServiceNow contract. ToolJet has open-source and self-hosted path, so a small internal tool doesn't automatically come with additional per-builder licensing.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Getting started doesn't require ServiceNow-specific training.&lt;/strong&gt; Building well in App Engine generally benefits from ServiceNow platform knowledge and, for more complex apps, formal ServiceNow training or certification. ToolJet's canvas and query panel are meant to be picked up directly, without that same ramp-up.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;None of this makes App Engine a bad choice. It makes sense for teams building deeply native ServiceNow applications that need to live inside that governance model long-term. ToolJet fits better when the goal is a smaller, faster tool, built by a team that doesn't want to invest in ServiceNow-specific platform expertise just to ship it.&lt;/p&gt;

&lt;h2&gt;
  
  
  A real example: an Employee Self-Service Request Portal
&lt;/h2&gt;

&lt;p&gt;To test this, a small internal tool was built end to end: an employee fills out a request (what it's about, how urgent, a short description), hits Submit, and it becomes a real ticket in ServiceNow. Below the form, a live table shows their own requests, pulled straight from ServiceNow.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Figure 5. The finished Employee Self-Service Request Portal, running against a live ServiceNow instance.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F33bs2ed2w2sjlxz1kzpz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F33bs2ed2w2sjlxz1kzpz.png" alt="The finished Employee Self-Service Request Portal, running against a live ServiceNow instance" width="800" height="375"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is a stand-in for the most common ask above: a simpler front end for something ServiceNow already does, but does clunkily for a regular employee.&lt;/p&gt;

&lt;p&gt;Connecting to ServiceNow itself is a one-time setup step: an instance URL, and either basic auth or OAuth 2.0.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Figure 6. ServiceNow data source setup inside ToolJet. Client ID blurred.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fc7qjc6gnonv33chto4xf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fc7qjc6gnonv33chto4xf.png" alt="ServiceNow data source setup inside ToolJet, client ID blurred" width="799" height="435"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How the app was actually built
&lt;/h2&gt;

&lt;p&gt;This is the part that's usually skipped, so here it is plainly.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Figure 7. The full query panel behind the app: every query on the left, myRequests open on the right.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fcytgv31av2fwznallcc3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fcytgv31av2fwznallcc3.png" alt="The full query panel behind the app: every query on the left, myRequests open on the right" width="800" height="403"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Every piece of the app is backed by a small, focused query against ServiceNow, and every query does one job:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;myRequests&lt;/code&gt;: pulls the employee's existing requests from the incident table (List Records)&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;createRequest&lt;/code&gt;: creates a new request when the form is submitted (Create Record)&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;getPriorityChoices&lt;/code&gt;: populates the Priority dropdown straight from ServiceNow's own choice list, so it can't go out of sync&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;deleteRecord&lt;/code&gt;: removes a request&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;countTotalRequest, countOpenRequests, countHighPriority, countClosedRequests&lt;/code&gt;: four small counting queries, one per KPI card&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;ListFlows&lt;/code&gt;: lists ServiceNow's Flow Designer automations, for later use&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;None of these are complicated. Each one is one ServiceNow operation, configured once, then reused by a component on the canvas: a table, a form field, a stat card, a button. That's the actual "how": connect once, build a small query per data need, then wire components to those queries.&lt;/p&gt;

&lt;p&gt;The result is a form, four live KPI cards (Total, Open, High Priority, Resolved), and a request table, all reading and writing real ServiceNow data, with nothing custom running in between.&lt;/p&gt;

&lt;h2&gt;
  
  
  Generating the app instead of building it by hand
&lt;/h2&gt;

&lt;p&gt;Everything above was built query by query. There's also a newer, faster path worth showing: describing the app in plain language and letting ToolJet generate it.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Figure 8. ToolJet's AI builder breaking a plain-language request into a two-phase implementation plan.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3k2olovgevzoqw68dwj6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3k2olovgevzoqw68dwj6.png" alt="ToolJet's AI builder breaking a plain-language request into a two-phase implementation plan" width="800" height="1459"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Given a description of a ServiceNow self-service portal, the AI builder splits the work into phases (first the core request management, then the stats dashboard), and asks for approval before building each phase. That review step matters: it means someone can check the plan before any queries or components get created, rather than getting a black box.&lt;/p&gt;

&lt;p&gt;Once approved, it generates working queries against the ServiceNow data source directly, including ones with real filtering logic, not just plain lookups:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Figure 9. An AI-generated query, list_requests, with dynamic filters built from dropdown and search inputs.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fl5qj4i68qdil287nt9x6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fl5qj4i68qdil287nt9x6.png" alt="An AI-generated query, list_requests, with dynamic filters built from dropdown and search inputs" width="800" height="300"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And it produces an app shell to match, with its own navigation and layout:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Figure 10. The AI-generated app, a different visual take on the same self-service request portal.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F9i0pvy68u1pha77lvkf9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F9i0pvy68u1pha77lvkf9.png" alt="The AI-generated app, a different visual take on the same self-service request portal" width="800" height="321"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This doesn't replace understanding the underlying queries. It's still worth knowing what List Records, Create Record, and the rest actually do, since that's what makes the generated output reviewable rather than a leap of faith. What it changes is the starting point: instead of an empty canvas, there's already a working draft to adjust.&lt;/p&gt;

&lt;h2&gt;
  
  
  The takeaway
&lt;/h2&gt;

&lt;p&gt;If an enterprise already runs on ServiceNow and wants faster, friendlier tools without giving up ServiceNow as the system of record, that's already buildable today, whether hand built query by query or generated from a plain-language description. Triggering deeper ServiceNow automation is close, but it needs a bit of setup on the ServiceNow side first. Neither tool replaces the other. They're doing different jobs.&lt;/p&gt;

&lt;p&gt;Everything above was built and tested against a live ServiceNow Personal Developer Instance using ToolJet Cloud, not a demo environment or a simulated data source.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://tooljet.com/schedule-demo" rel="noopener noreferrer"&gt;Book a demo&lt;/a&gt; and see open-source enterprise low-code in action, built for real internal application delivery.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>webdev</category>
      <category>javascript</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
