<?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: brendan lester</title>
    <description>The latest articles on DEV Community by brendan lester (@brendan_lester_b724f7075b).</description>
    <link>https://dev.to/brendan_lester_b724f7075b</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3691953%2F440d152a-fb27-4ff8-973e-ba990b920006.png</url>
      <title>DEV Community: brendan lester</title>
      <link>https://dev.to/brendan_lester_b724f7075b</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/brendan_lester_b724f7075b"/>
    <language>en</language>
    <item>
      <title>I Built a Small Free Tool to Make SOQL Queries Less Painful</title>
      <dc:creator>brendan lester</dc:creator>
      <pubDate>Sun, 04 Jan 2026 00:50:24 +0000</pubDate>
      <link>https://dev.to/brendan_lester_b724f7075b/i-built-a-small-free-tool-to-make-soql-queries-less-painful-4hc0</link>
      <guid>https://dev.to/brendan_lester_b724f7075b/i-built-a-small-free-tool-to-make-soql-queries-less-painful-4hc0</guid>
      <description>&lt;p&gt;After spending a lot of time working with Salesforce data, one thing stood out quickly:&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Editing and iterating on SOQL is far less flexible than it should be&lt;/strong&gt;, especially compared to standard SQL tools.&lt;/p&gt;

&lt;p&gt;My biggest frustration was the editor experience:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Working with multiple SOQL queries at once&lt;/li&gt;
&lt;li&gt;Quickly switching between what I want to run&lt;/li&gt;
&lt;li&gt;Iterating without constantly context-switching&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So I built something to fix that — and I’m sharing it for free.&lt;/p&gt;




&lt;h2&gt;
  
  
  What this tool is
&lt;/h2&gt;

&lt;p&gt;This is a lightweight SOQL query tool focused on &lt;strong&gt;fast iteration and editing&lt;/strong&gt;, not on being a full IDE.&lt;/p&gt;

&lt;p&gt;It’s written in Node.js and distributed as source:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Clone the repo&lt;/li&gt;
&lt;li&gt;Run it locally in your Node environment&lt;/li&gt;
&lt;li&gt;No Salesforce CLI required&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You’ll need an &lt;strong&gt;External Client App&lt;/strong&gt; configured in Salesforce.&lt;br&gt;&lt;br&gt;
Both &lt;strong&gt;OAuth 2.0 Web Server Flow (Authorization Code)&lt;/strong&gt; and &lt;strong&gt;Client Credentials&lt;/strong&gt; are supported.&lt;/p&gt;

&lt;p&gt;After that, everything is pretty intuitive and covers &lt;strong&gt;~99% of the SOQL work&lt;/strong&gt; I need for analysis, debugging, and automation.&lt;/p&gt;




&lt;h2&gt;
  
  
  A better SOQL editing experience
&lt;/h2&gt;

&lt;p&gt;Key features:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Multi-line editor with &lt;strong&gt;Ctrl+E&lt;/strong&gt; to execute a query block&lt;/li&gt;
&lt;li&gt;Multiple SOQL queries in a single workspace&lt;/li&gt;
&lt;li&gt;Easy switching between &lt;strong&gt;SOQL&lt;/strong&gt; and &lt;strong&gt;REST&lt;/strong&gt; execution&lt;/li&gt;
&lt;li&gt;Multiple Salesforce environments supported&lt;/li&gt;
&lt;li&gt;Autocompletion&lt;/li&gt;
&lt;li&gt;Sorting and filtering&lt;/li&gt;
&lt;li&gt;Results exporting&lt;/li&gt;
&lt;li&gt;Click an ID to view:

&lt;ul&gt;
&lt;li&gt;Object JSON&lt;/li&gt;
&lt;li&gt;Record directly in Salesforce&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;&lt;strong&gt;No Salesforce CLI required&lt;/strong&gt;&lt;/li&gt;

&lt;li&gt;Secure authentication via &lt;strong&gt;OAuth 2.0 Web Server Flow&lt;/strong&gt;
&lt;/li&gt;

&lt;/ul&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.amazonaws.com%2Fuploads%2Farticles%2Facmgd19d47fxa1lzz8t2.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.amazonaws.com%2Fuploads%2Farticles%2Facmgd19d47fxa1lzz8t2.png" alt=" " width="800" height="509"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Why it’s free
&lt;/h2&gt;

&lt;p&gt;I built this while working heavily with Salesforce data and automation (including Playforce, where SOQL shows up everywhere — analysis, debugging, and tests).&lt;/p&gt;

&lt;p&gt;The tool already existed for my own use.&lt;br&gt;&lt;br&gt;
Sharing it just made sense.&lt;/p&gt;

&lt;p&gt;If it saves you the same amount of time it’s saved me, that’s a win.&lt;/p&gt;




&lt;h2&gt;
  
  
  Who this is for
&lt;/h2&gt;

&lt;p&gt;You’ll probably find this useful if you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Write SOQL regularly&lt;/li&gt;
&lt;li&gt;Want quick data extraction for analysis&lt;/li&gt;
&lt;li&gt;Work with tests, scripts, or automation&lt;/li&gt;
&lt;li&gt;Want less friction when shaping queries&lt;/li&gt;
&lt;li&gt;Don’t want or need the complexity of VS Code or the Salesforce CLI&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you’re looking for a full Salesforce IDE replacement — this isn’t that.&lt;/p&gt;




&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;

&lt;p&gt;👉 &lt;strong&gt;&lt;a href="https://github.com/getplayforce/playforce-query" rel="noopener noreferrer"&gt;https://github.com/getplayforce/playforce-query&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;No signup. No login. Just clone it and use it.&lt;/p&gt;




&lt;h2&gt;
  
  
  Feedback welcome
&lt;/h2&gt;

&lt;p&gt;This is intentionally small, but I’m open to improving it.&lt;/p&gt;

&lt;p&gt;If you have ideas, edge cases, or things that would make SOQL editing smoother, I’d genuinely like to hear them.&lt;/p&gt;

&lt;p&gt;And if it’s useful, feel free to share it with your team.&lt;/p&gt;

</description>
      <category>salesforce</category>
      <category>soql</category>
      <category>devtools</category>
      <category>node</category>
    </item>
  </channel>
</rss>
