# Choosing an internal tool builder: a step-by-step guide for business teams

> Published 2026-11-11
> Source: https://viktor.com/blog/how-to-choose-an-internal-tool-builder

A business should choose an internal tool builder by mapping one workflow first, then matching builder type, integrations, security evidence, hosting, total cost and exit path to that workflow, and then piloting a shortlist such as Viktor, Retool, Appsmith, Budibase, ToolJet and Superblocks before signing. The vendor demo comes last. A two-week pilot on real data settles what the feature grids cannot.

## How to choose an internal tool builder: the short answer

Internal tool builders produce the software a company runs on but never sells: dashboards, admin panels, approval desks and operational workflows. In the [Stack Overflow 2026 Developer Survey](https://survey.stackoverflow.co/2026/technology), 63% of respondents create team-level internal tools, and only 19% build in-house software to replace paid vendors.

The options fall into three groups:

- An [AI employee](https://viktor.com/ai-employee) such as Viktor, who builds and runs the tool from a plain-language request
- Low-code builders such as Retool, Appsmith, Budibase and ToolJet
- AI app builders with IT governance, such as Superblocks

Eight steps take a team from request to rollout:

1. **Map the workflow:** Write down users, data sources, actions and frequency for one target tool.
2. **Match the builder type:** Pick no-code, low-code or code-first based on who will build and maintain it.
3. **Test integrations:** Connect each data source with real data before shortlisting.
4. **Check security evidence:** Request SOC 2 reports, audit periods and permission tiers.
5. **Decide hosting:** Choose cloud or self-hosted based on data residency and operations capacity.
6. **Model total cost:** Price the team size expected in 12 months, not the entry plan.
7. **Confirm the exit path:** Read the exact license and export one app.
8. **Score, pilot and govern:** Score the shortlist, run a two-week pilot, then add teams under written rules.

## Start with the workflow, not the vendor

A refund-approval admin panel for a support team is a good first target because its requirements are easy to write down. Four questions define it:

- **Users:** Who reads the panel, who edits records, and who approves money movements.
- **Data sources:** The Postgres table of orders, the payments API, and any spreadsheet the team still uses.
- **Actions:** Read-only lookups, record edits, refunds, and which of those need a second person’s approval.
- **Frequency:** How many times a day the panel runs and whether any step runs on a schedule.

Gartner advises piloting with clear success metrics tied to business outcomes, “not tool usage” ([Gartner future of work trends](https://www.gartner.com/en/articles/future-of-work-trends)). A demo shows tool usage. The workflow map shows the outcome the builder has to produce.

Overbuilding is the other early failure. [McKinsey’s Technology Trends Outlook 2024](https://www.mckinsey.com/~/media/mckinsey/business%20functions/mckinsey%20digital/our%20insights/the%20top%20trends%20in%20tech%202024/mckinsey-technology-trends-outlook-2024.pdf) notes that experienced developers are still needed to monitor and debug applications built by nondevelopers. Every extra screen adds to that load. Write the map for one workflow, cap it at the smallest version that removes the manual step, and take that document into every vendor conversation.

## No-code, low-code or code-first: match the builder to your team

No-code suits business teams building simple apps, while low-code suits engineering-light teams that can write SQL and JavaScript when the visual editor runs out. Code-first suits teams with engineering capacity and apps that will carry real business risk, so match the builder type to who builds and how complex the app is.

### No-code builders

Gartner defines citizen application development platforms as products that let citizen developers create and maintain “simple, noncritical applications” ([Gartner Peer Insights category](https://www.gartner.com/reviews/market/citizen-application-development-platforms)). That definition sets the ceiling. A no-code builder fits a request tracker or a read-only dashboard; it strains when the app needs custom logic, multi-step approvals or writes to a production database.

Prompt-based builders move this line. Superblocks lists Clark, its AI for app building, on the Teams plan (Superblocks pricing), so business users describe the app instead of dragging components. Treat a no-code result as noncritical until someone with database access has reviewed what it writes.

### Low-code builders

Low-code builders give a visual editor plus code escape hatches. Retool connects to any REST or GraphQL API alongside its native integrations (Retool data sources), and Appsmith syncs applications to a Git repository or exports them as JSON (Appsmith migration docs).

The escape hatches come with work. CIO reports, citing Forrester, that low-code development may still require developers to write code for integrating older applications, for reporting and for special interface requirements ([CIO](https://www.cio.com/article/228592/what-is-low-code-development-a-lego-like-approach-to-building-software.html)). Choose low-code when at least one person on the owning team can write SQL and read JavaScript.

### Code-first and custom development

Custom development gives full control and a permanent maintenance bill. Stripe’s Developer Coefficient report (2018) found that the average developer spends more than 17 hours a week dealing with maintenance issues such as debugging and refactoring ([Stripe](https://stripe.com/files/reports/the-developer-coefficient.pdf)).

The build side has become faster. The Pragmatic Engineer reported that Stripe had a single engineer build Harbor v1 and Ramp had two engineers build its version in weeks, and called this a reasonable investment for companies with hundreds of engineers or more ([The Pragmatic Engineer](https://blog.pragmaticengineer.com/the-pulse-new-trend-of-building-internal-vibe-coding-apps-at-tech-companies)). McKinsey’s 2026 State of AI found that 32% of respondents’ organizations decided against buying at least one software product because they built the function in-house with agentic coding tools ([McKinsey](https://www.mckinsey.com/capabilities/quantumblack/our-insights/the-state-of-ai?ref=feedtheai.com)). Build custom when the app is core to operations and an engineering team will own it for years; buy when nobody will.

### Who should own the tools: engineering or operations

Gartner’s April 2026 research states that CIOs cannot let every business developer select their own platform and must set up a unified, governed foundation for citizen development ([Gartner](https://www.gartner.com/en/documents/7720258)). Gartner also describes leading organizations creating tiny platform teams so non-technical domain experts can produce software inside security and governance guardrails ([Gartner 2026 trends](https://www.gartner.com/en/newsroom/press-releases/2025-10-20-gartner-identifies-the-top-strategic-technology-trends-for-2026)).

Shell’s program, described by Forrester, splits ownership into three zones ([Forrester](https://www.forrester.com/blogs/how-shell-led-a-citizen-developer-movement)):

- **Green, full DIY:** The citizen developer is responsible for the entire app lifecycle.
- **Amber, partnered DIY:** Formal assistance and oversight from a DIY coach.
- **Red, professional development:** Large, risky apps reserved for IT-led development.

Assign every app to a zone before it is built. Apps that write to production data or move money go amber or red, with engineering approving changes.

## Integrations with your databases, APIs and existing systems

Viktor, Retool, Appsmith, Budibase, ToolJet and Superblocks each document a different set of connectors for SQL databases, REST and GraphQL APIs, Google Sheets, Airtable and CRMs. This matrix records what each vendor’s own pages state:

```json:object
{
  "_key": "k147",
  "_type": "table",
  "rows": [
    {
      "_key": "k140",
      "_type": "tableRow",
      "cells": [
        "Builder",
        "SQL databases",
        "REST and GraphQL",
        "Google Sheets and Airtable",
        "Salesforce and HubSpot"
      ]
    },
    {
      "_key": "k141",
      "_type": "tableRow",
      "cells": [
        "Viktor",
        "PostgreSQL (integration) and MySQL (integration)",
        "Any API or MCP server as a custom connection (integrations)",
        "Airtable and Google Drive in the common list (integrations)",
        "Both in the common list (integrations)"
      ]
    },
    {
      "_key": "k142",
      "_type": "tableRow",
      "cells": [
        "Retool",
        "PostgreSQL and MySQL guides (integration guides)",
        "Any REST or GraphQL API (data sources)",
        "Google Sheets guide (integration guides); no Airtable value in the resource type list",
        "Both have guides (integration guides)"
      ]
    },
    {
      "_key": "k143",
      "_type": "tableRow",
      "cells": [
        "Appsmith",
        "Database list not confirmed in the connector reference",
        "RestAPI and GraphQL listed (connector reference)",
        "Google Sheets (connector reference) and Airtable (integrations)",
        "Salesforce (reference); HubSpot listed (integrations)"
      ]
    },
    {
      "_key": "k144",
      "_type": "tableRow",
      "cells": [
        "Budibase",
        "PostgreSQL (docs); MySQL named as an external source (network access)",
        "REST (data sources); GraphQL not documented",
        "Google Sheets (docs) and Airtable (docs)",
        "Not documented"
      ]
    },
    {
      "_key": "k145",
      "_type": "tableRow",
      "cells": [
        "ToolJet",
        "PostgreSQL and MySQL listed (platform page)",
        "Any REST endpoint (REST API); GraphQL in 2.12.0 docs",
        "Airtable (docs); Google Sheets listed (platform page)",
        "Both listed (platform page)"
      ]
    },
    {
      "_key": "k146",
      "_type": "tableRow",
      "cells": [
        "Superblocks",
        "Postgres named in the pricing FAQ",
        "REST (docs) and GraphQL (docs)",
        "Google Sheets through the REST integration (Google OAuth guide); Airtable not documented",
        "Salesforce named in the pricing FAQ; HubSpot not documented"
      ]
    }
  ]
}
```

A listed connector proves little until it runs against real data. Test each one on the workflow map:

- **Read path:** Connect to a read-only replica and run the exact query the panel needs, including joins and pagination.
- **Rate limits:** Check vendor limits under load; ToolJet notes that Airtable’s API allows five requests per second per base ([ToolJet Airtable docs](https://docs.tooljet.com/docs/data-sources/airtable)).
- **Environments:** Confirm staging and production separation per connector; Appsmith states that SaaS integrations such as Google Sheets, HubSpot and Airtable do not support datasource environments (Appsmith).
- **Write path:** Run one write behind an approval step and confirm it lands in the source system.
- **Credentials:** Check what an app export carries; Appsmith does not export datasource connection values (Appsmith), and Budibase recommends environment variables to keep secrets out of exports ([Budibase](https://docs.budibase.com/docs/export-and-import-apps)).

Drop any builder from the shortlist whose connector fails the read path or the write path on real data.

## Security, permissions and compliance checks

SOC 2 Type 1 and Type 2 reports answer different questions. In an AICPA panel, Neha Patel of Weaver and Tidwell said: “For a type 1, the service auditor is evaluating controls as of a specific date” ([AICPA](https://www.aicpa-cima.com/professional-insights/video/maintaining-high-standards-for-soc-engagements)).

[A-LIGN](https://www.a-lign.com/articles/what-is-soc-2-complete-guide) describes a Type 2 audit as looking at controls over a period, “usually between 3 and 12 months,” and SOC 2 reports require annual renewal ([AICPA](https://www.aicpa-cima.com/news/article/auditors-meet-urgent-demand-for-ai-assurance-with-new-offering-from-aicpa-and-aiuc)).

A trust badge shows none of this. Dark Reading states that SOC 2 reports “shouldn’t be the sole factor in vendor risk management” ([Dark Reading](https://www.darkreading.com/cybersecurity-operations/are-soc-2-reports-sufficient-for-vendor-risk-management)), and AICPA training covers exceptions, bridge letters and complementary user entity controls as items report readers must check ([AICPA](https://www.aicpa-cima.com/cpe-learning/webcast/soc-2-report-walkthrough)).

Ask every vendor for these items in writing:

- **Report type and period:** Type 1 date or Type 2 window, plus the auditor’s name and opinion.
- **Exceptions:** Every testing exception and how the vendor fixed it.
- **Bridge letter:** Coverage for the gap between the audit period end and today.
- **User entity controls:** The controls the report assumes your team operates, such as reviewing access.
- **Subservice carve-outs:** Which hosting and model providers sit outside the audit scope.
- **Permissions by plan:** The tier that carries role-based access control, audit logs, SSO and SCIM.
- **HIPAA and GDPR:** Whether the vendor signs a BAA and publishes a DPA.

Vendor trust pages list these attestations:

```json:object
{
  "_key": "k227",
  "_type": "table",
  "rows": [
    {
      "_key": "k220",
      "_type": "tableRow",
      "cells": [
        "Builder",
        "Attestations listed",
        "Report access"
      ]
    },
    {
      "_key": "k221",
      "_type": "tableRow",
      "cells": [
        "Viktor",
        "SOC 2 Type 1; SOC 2 Type 2 and ISO 27001 in progress; GDPR aligned with a public DPA (as of October 2026, Viktor security)",
        "Security review support and a ready-to-sign DPA on Enterprise (Viktor security)"
      ]
    },
    {
      "_key": "k222",
      "_type": "tableRow",
      "cells": [
        "Retool",
        "SOC 2 Type 2, ISO/IEC 27001:2022, GDPR and CCPA (Retool Trust Center)",
        "Reports download from the self-serve Trust Center (Retool security docs); a Retool staff reply says Retool does not sign BAAs (Retool forum)"
      ]
    },
    {
      "_key": "k223",
      "_type": "tableRow",
      "cells": [
        "Appsmith",
        "SOC 2 listed (Appsmith Trust Center); Type II audit announced September 29, 2022 (Appsmith blog)",
        "SOC 2 and pentest reports by request (Appsmith Trust Center)"
      ]
    },
    {
      "_key": "k224",
      "_type": "tableRow",
      "cells": [
        "Budibase",
        "ISO 27001 certified and GDPR (Budibase security)",
        "SOC 2 type and report access not stated (Budibase security)"
      ]
    },
    {
      "_key": "k225",
      "_type": "tableRow",
      "cells": [
        "ToolJet",
        "SOC 2, ISO 27001 v2022 and GDPR marked compliant (ToolJet Trust Center); docs state SOC 2 Type II (ToolJet compliance)",
        "Security and Procurement Pack under NDA (ToolJet enterprise security)"
      ]
    },
    {
      "_key": "k226",
      "_type": "tableRow",
      "cells": [
        "Superblocks",
        "SOC 2 Type 2 and HIPAA (Superblocks Trust Center); signs BAAs with HIPAA-covered customers (Superblocks HIPAA docs)",
        "SOC 2, HIPAA and pentest reports by request (Superblocks Trust Center)"
      ]
    }
  ]
}
```

Reject any vendor that cannot produce the report itself, under NDA if needed, before the pilot starts.

## Deployment, self-hosting and lock-in

Hosting and licensing decide who runs upgrades and how hard it is to leave. Both questions need answers before the pilot, because changing either after rollout means migrating every app.

### Cloud SaaS vs self-hosted

Retool Cloud routes traffic through `us-west-2` (Oregon) by default, and outbound region settings do not change where Retool stores applications or data (Retool). Appsmith cloud stores and processes data in the US (Appsmith FAQ), while its Enterprise managed hosting offers US West, US East and EU locations (Appsmith managed hosting). Budibase hosts all Budibase Cloud servers in the EU (Ireland) (Budibase security).

Self-hosting moves the operations work to your team. Each vendor documents a different load:

- **Retool:** Self-hosting appears only on Enterprise (Retool pricing); production runs on Kubernetes with Helm, and Docker Compose is for non-production use (Retool quickstart). Stable releases ship each quarter (Retool releases), and each is supported for six months (Retool quickstart).
- **Appsmith:** Self-hosting starts at 2 vCPU and 8 GB of memory (Appsmith sizing), and some versions are checkpoints that must be installed before upgrading further (Appsmith upgrades).
- **Budibase:** Self-hosted deployments must reach the Budibase Account Portal for license activation and validation ([Budibase](https://docs.budibase.com/docs/self-hosted-licensing)).
- **ToolJet:** VM deployments need 4GB RAM, 1 vCPU and at least 8GiB storage, with PostgreSQL 16.x recommended ([ToolJet requirements](https://docs.tooljet.com/docs/setup/system-requirements)); new LTS versions arrive every 3 to 5 months with at least 18 months to end of life ([ToolJet Helm](https://docs.tooljet.com/docs/setup/helm)).
- **Superblocks:** Hybrid runs a data plane in your AWS, GCP or Azure VPC that communicates outbound-only (Superblocks Hybrid), and the docs state that deploying it usually takes a DevOps engineer (Superblocks deployment).

Self-host only when a residency or network rule requires it and a named engineer owns upgrades. Otherwise, pick the cloud region that matches your DPA.

### Data ownership and exit paths

The license term on each repository decides what you can run and modify after leaving. The Open Source Initiative states that only software under an OSI-approved license should be labeled open source ([OSI FAQ](https://opensource.org/faq)). Budibase’s README describes its terms in detail: “Budibase is open-source, licensed as GPL v3. The client and component libraries are licensed as MPL - so the apps you build can be licensed however you like. Budibase paid features are licensed under the Business Source License” ([Budibase README](https://github.com/Budibase/budibase/blob/master/README.md)). MariaDB’s text for that license states it “is not an Open Source license” ([MariaDB BSL 1.1](https://mariadb.com/bsl11)).

The exact terms for each builder:

- **Appsmith:** Apache License 2.0 ([LICENSE](https://github.com/appsmithorg/appsmith/blob/release/LICENSE)).
- **ToolJet:** GNU Affero General Public License v3 ([LICENSE](https://github.com/ToolJet/ToolJet/blob/main/LICENSE)).
- **Superblocks:** The On-Premise Agent repository is under the Superblocks Community License Agreement, which does not include the right to sublicense ([LICENSE](https://github.com/superblocksteam/agent/blob/main/LICENSE)).
- **Retool:** Retool’s self-hosted docs describe a licensed, single-tenant deployment and no open-source edition (Retool self-hosted).

“Fair-code” is a separate term. The fair-code site states that “Fair-code is not a software license” and lists the Business Source License and n8n’s Sustainable Use License among qualifying licenses ([faircode.io](https://faircode.io/)). n8n calls its Sustainable Use License a fair-code license and does not call itself open source (n8n).

Exports differ as much as licenses:

- **Retool:** Apps and workflows export individually as JSON (Retool migration); Git source control is Enterprise only (Retool pricing).
- **Appsmith:** Git sync or JSON export, with 3 repos on Free (Appsmith pricing).
- **Budibase:** Workspaces export as a JSON file with an optional password ([Budibase](https://docs.budibase.com/docs/export-and-import-apps)).
- **ToolJet:** Export All saves every app version as JSON ([ToolJet](https://docs.tooljet.com/docs/development-lifecycle/import-export/importing-exporting-applications)); GitSync keeps only the latest pushed version of each app ([ToolJet GitSync backup](https://docs.tooljet.com/docs/3.5.0-LTS/development-lifecycle/backup/gitsync-backup)).
- **Superblocks:** Each app is backed by a React project, and running it outside Superblocks means swapping managed services and running the On-Premise Agent, with operating docs marked “coming soon” (Superblocks Enterprise React).

Export the pilot app and redeploy it outside the vendor in week two. The hours that takes are your migration estimate.

## Total cost of ownership beyond the entry plan

Viktor, Retool, Appsmith, Budibase, ToolJet and Superblocks each bill on a different unit, so their entry prices do not line up. All figures below are listed per month, third-party pricing checked November 2026.

Viktor bills shared workspace credits with no per-seat fee: the Team plan is [$100 a month for 40,000 credits](https://viktor.com/pricing), and he is free to start with up to $100 in credits (pricing checked November 2026).

Retool lists Team at $10 per builder per month and $5 per internal user per month, and Business at $50 per builder per month and $15 per internal user per month, both billed annually (Retool pricing).

Team and Business include 5,000 workflow runs per month, with additional runs at $75 per 5,000 runs per month (Retool pricing).

Appsmith lists Business at $15 per user per month for up to 99 users and Enterprise at $2,500 per month for 100 users (Appsmith pricing). The same page states that developers in the editor carry no extra charge and that members added at any point in a billing cycle are billed for the full month.

Budibase Cloud starts at $299 per month with 2 creators, 20 end users and 250K monthly actions ([Budibase pricing](https://budibase.com/pricing)). Additional creators cost $50 each per month with annual billing or $60 with monthly billing, and actions are hard monthly limits.

ToolJet lists Basic at $23, Pro at $79 and Team at $199 per builder per month on cards marked “Saved 20%,” and its Team purchase form shows $249 per month when paid monthly ([ToolJet pricing](https://www.tooljet.com/pricing)). Free, Basic and Pro support up to 50 end users, and Team supports up to 100.

Superblocks lists Teams at $125 per month billed monthly or $100 per month billed annually, with 100 Governed Agent Units per month, one hosted app and $10 per month for each additional app, up to 15 builders (Superblocks pricing). Enterprise pricing is custom.

The entry plan leaves out four cost lines. Fill this worksheet with your own numbers:

- **Seats at 12 months:** Builders and end users you expect a year out, multiplied by the vendor’s own unit rates.
- **Usage:** Workflow runs, actions or AI credits at your expected volume, plus listed overage rates.
- **Hosting:** Cloud fees, or for self-hosting, the Kubernetes cluster, database and object storage Retool’s Helm guide requires (Retool Helm).
- **Maintenance:** Engineer hours per month for upgrades, broken connectors and access reviews, priced at your loaded salary.

Gartner warns that projects viable in proof of concept can become “budget black holes” in production because operational costs are underestimated ([Gartner](https://www.gartner.com/en/articles/genai-project-failure)). Price the worksheet at month 12 and reject any plan whose tier jump (SSO, audit logs, more users) lands inside that window without budget for it.

## Comparing Viktor, Retool, Appsmith, Budibase, ToolJet and Superblocks

Viktor, Retool, Appsmith, Budibase, ToolJet and Superblocks differ in hosting, license terms, connector coverage, governance tiers and billing units.

```json:object
{
  "_key": "k394",
  "_type": "table",
  "rows": [
    {
      "_key": "k387",
      "_type": "tableRow",
      "cells": [
        "Builder",
        "Builder type",
        "Hosting",
        "License",
        "Integrations",
        "Permissions by tier",
        "Pricing model",
        "Best for"
      ]
    },
    {
      "_key": "k388",
      "_type": "tableRow",
      "cells": [
        "Viktor",
        "AI employee who builds and runs the tool from a plain-language request",
        "Cloud; Viktor Spaces hosted by Viktor, on the company’s own domain if needed",
        "Proprietary (commercial)",
        "9,800+ tools, most through one-click OAuth; any API or MCP server as a custom integration",
        "Admins set any tool to needs approval or forbidden; audit logs and SAML SSO on Enterprise (Viktor security)",
        "Shared workspace credits, no per-seat fee; Team $100 a month for 40,000 credits (pricing)",
        "Teams whose internal requests wait behind product work"
      ]
    },
    {
      "_key": "k389",
      "_type": "tableRow",
      "cells": [
        "Appsmith",
        "Low-code app builder",
        "Cloud with US data, or self-hosted Community and Commercial editions (Appsmith editions)",
        "Apache License 2.0 (LICENSE)",
        "REST, GraphQL and Google Sheets (connector reference); Airtable and HubSpot (integrations); Salesforce (reference)",
        "Custom roles and audit logs on Business; SAML/OIDC and SCIM on Enterprise (Appsmith pricing)",
        "Per user; Enterprise priced as a monthly platform tier for 100 users (Appsmith pricing)",
        "Teams that want Apache-licensed self-hosting with Git"
      ]
    },
    {
      "_key": "k390",
      "_type": "tableRow",
      "cells": [
        "Budibase",
        "Low-code app and workflow builder",
        "Self-managed Community and Enterprise, or Budibase Cloud (Budibase pricing)",
        "GPLv3 core, MPL client libraries, Business Source License for paid features (README)",
        "PostgreSQL (docs), MySQL (network access), REST (data sources), Google Sheets (docs) and Airtable (docs); GraphQL, Salesforce and HubSpot not documented",
        "Standard SSO on Community; enterprise identity controls and audit logs on Enterprise (Budibase pricing)",
        "Cloud base plan plus additional creators and end users, with monthly action limits (Budibase pricing)",
        "Teams that need EU cloud hosting or free self-hosting"
      ]
    },
    {
      "_key": "k391",
      "_type": "tableRow",
      "cells": [
        "Retool",
        "Low-code app and workflow builder",
        "Cloud on Free, Team and Business; cloud, self-hosted or air-gapped on Enterprise (Retool pricing)",
        "Proprietary (commercial license; no open-source edition documented) (Retool self-hosted)",
        "PostgreSQL, MySQL and Google Sheets (integration guides); Salesforce and HubSpot (integration guides); any REST or GraphQL API (data sources)",
        "Business permissions and audit logs; SSO, granular roles and source control on Enterprise (Retool pricing)",
        "Builders plus internal users, with workflow-run allowances and overages (Retool pricing)",
        "Engineering-led teams building many admin apps in the cloud"
      ]
    },
    {
      "_key": "k392",
      "_type": "tableRow",
      "cells": [
        "Superblocks",
        "AI app builder (Clark) producing React apps under IT governance",
        "Cloud, Hybrid or Cloud-Prem (Superblocks pricing)",
        "Superblocks Community License Agreement for the On-Premise Agent (LICENSE)",
        "REST (docs) and GraphQL (docs); Google Sheets through the REST integration (Google OAuth guide)",
        "SSO, RBAC, audit logs and VPC deployment listed for Enterprise (Superblocks pricing); Superblocks blogs also place RBAC on Teams (Superblocks blog)",
        "Teams workspace fee, Governed Agent Units and per-hosted-app charges (Superblocks pricing)",
        "Enterprises that must keep production data inside their own VPC"
      ]
    },
    {
      "_key": "k393",
      "_type": "tableRow",
      "cells": [
        "ToolJet",
        "Low-code app builder with workflows",
        "Cloud and self-hosted; workflows on self-hosted only (ToolJet pricing)",
        "GNU AGPL v3 (LICENSE)",
        "PostgreSQL, MySQL, Google Sheets, Salesforce and HubSpot listed (platform page); any REST endpoint (REST API); GraphQL (2.12.0 docs); Airtable (docs)",
        "SSO (Google, GitHub, OIDC, LDAP, SAML), custom user groups and 14-day audit logs on Team; SCIM on Enterprise (ToolJet pricing)",
        "Per builder, with end-user caps by plan (ToolJet pricing)",
        "Teams that want AGPL self-hosting with SAML below Enterprise"
      ]
    }
  ]
}
```

Shortlist no more than three builders that match your workflow map, hosting rule and required permission tier.

## When an AI employee builds the tool instead

Viktor is the AI employee who lives in Slack and Microsoft Teams, connects to 9,800+ tools, and does the work. Most of those tools connect through one-click OAuth, and any tool with an API or MCP server connects as a custom integration ([Viktor integrations](https://viktor.com/integrations)). Teams can also start in the web app at app.viktor.com or run him in Discord.

For an [internal tool request](https://viktor.com/blog/ship-internal-tools-without-engineers), nobody on the team builds anything. An ops lead asks for the refund-approval panel in plain language, and Viktor builds it as one of his [Viktor Spaces](https://viktor.com/blog/how-to-share-your-ai-employees-work-outside-your-team) (custom apps your AI employee builds and runs), with a database, sign-in and hosting, on the company’s own domain if needed.

The request skips the engineering backlog that dashboards and admin panels usually wait in. Read [what an AI employee is](https://viktor.com/blog/what-is-an-ai-employee) for more depth.

Viktor waits for approval before money moves, code pushes, customer emails and any action on a tool an admin has marked as needing approval. He posts approval cards in Slack or Microsoft Teams with Approve and Reject, and a rejected action never runs. [Viktor’s security page](https://viktor.com/security) states that money moves, code pushes and customer emails wait for explicit approval, and admins can set any other integration tool to “needs approval” or “forbidden.”

For engineering leaders, the review boundary stays in Git. Viktor clones GitHub or Bitbucket repositories, writes changes on a branch and opens a pull request with context for an engineer to review. MCP clients such as Claude Code or Cursor hand work to him through the MCP server at api.viktor.com/mcp with scoped API keys, documented in the [Viktor developer docs](https://viktor.com/docs).

Security status, as of October 2026: SOC 2 Type 1 certified, with SOC 2 Type 2 and ISO 27001 in progress ([Viktor security](https://viktor.com/security)). Viktor’s gateway adds API keys and tokens at run time and the AI model never reads them, he isolates each workspace, and he never uses customer data to train models. [Review Viktor’s security details, including SOC 2 Type 1, data handling and approval controls →](https://viktor.com/security)

Viktor is [free to start with up to $100 in credits and no credit card; the Team plan is $100 a month for 40,000 credits](https://viktor.com/pricing) shared across the whole workspace with no per-seat fee, and unused Team credits roll over (pricing checked October 2026).

Hampton’s [published customer story](https://viktor.com/case-study) reports $440K in planned hires avoided; that is Hampton’s result, not a forecast for every team.

Viktor is used by 79,000+ teams ([viktor.com](https://viktor.com), November 2026), rates 4.8 on G2 and was named in the Forbes Agentic 20.

For a team whose internal requests wait behind product work, start with Viktor. Teams that must self-host, or that want app source living in their own Git repository from day one, should shortlist Appsmith, Budibase, ToolJet or Superblocks, which document those options. [Give Viktor the next internal request on your backlog, free with up to $100 in credits and no credit card →](https://app.viktor.com/signup)

## A weighted scoring matrix for your shortlist

A weighted matrix turns the shortlist into one comparable number per builder. Copy this template, set weights that sum to 100, and score each builder from 1 to 5:

```json:object
{
  "_key": "k466",
  "_type": "table",
  "rows": [
    {
      "_key": "k457",
      "_type": "tableRow",
      "cells": [
        "Criterion",
        "Weight",
        "Builder 1",
        "Builder 2",
        "Builder 3"
      ]
    },
    {
      "_key": "k458",
      "_type": "tableRow",
      "cells": [
        "Workflow fit",
        " ",
        " ",
        " ",
        " "
      ]
    },
    {
      "_key": "k459",
      "_type": "tableRow",
      "cells": [
        "Build effort for the owning team",
        " ",
        " ",
        " ",
        " "
      ]
    },
    {
      "_key": "k460",
      "_type": "tableRow",
      "cells": [
        "Integrations tested on real data",
        " ",
        " ",
        " ",
        " "
      ]
    },
    {
      "_key": "k461",
      "_type": "tableRow",
      "cells": [
        "Permissions at the tier you will buy",
        " ",
        " ",
        " ",
        " "
      ]
    },
    {
      "_key": "k462",
      "_type": "tableRow",
      "cells": [
        "Security evidence (report, not badge)",
        " ",
        " ",
        " ",
        " "
      ]
    },
    {
      "_key": "k463",
      "_type": "tableRow",
      "cells": [
        "Hosting and residency fit",
        " ",
        " ",
        " ",
        " "
      ]
    },
    {
      "_key": "k464",
      "_type": "tableRow",
      "cells": [
        "Exit path",
        " ",
        " ",
        " ",
        " "
      ]
    },
    {
      "_key": "k465",
      "_type": "tableRow",
      "cells": [
        "Weighted total (sum of score × weight ÷ 100)",
        "100",
        " ",
        " ",
        " "
      ]
    }
  ]
}
```

Score cost separately with the worksheet from the cost section, since vendors bill on units that do not convert.

The worked example below is an illustration, not a benchmark. It scores three builders for the refund-approval panel: an ops team with no spare engineering time, Postgres and Stripe data, approvals required before refunds, and cloud hosting acceptable. The weights reflect that team’s priorities:

```json:object
{
  "_key": "k480",
  "_type": "table",
  "rows": [
    {
      "_key": "k471",
      "_type": "tableRow",
      "cells": [
        "Criterion",
        "Weight",
        "Viktor",
        "Retool",
        "Appsmith"
      ]
    },
    {
      "_key": "k472",
      "_type": "tableRow",
      "cells": [
        "Workflow fit",
        "20",
        "5",
        "4",
        "3"
      ]
    },
    {
      "_key": "k473",
      "_type": "tableRow",
      "cells": [
        "Build effort for the owning team",
        "20",
        "5",
        "2",
        "2"
      ]
    },
    {
      "_key": "k474",
      "_type": "tableRow",
      "cells": [
        "Integrations tested on real data",
        "15",
        "4",
        "5",
        "4"
      ]
    },
    {
      "_key": "k475",
      "_type": "tableRow",
      "cells": [
        "Permissions at the tier you will buy",
        "10",
        "3",
        "4",
        "4"
      ]
    },
    {
      "_key": "k476",
      "_type": "tableRow",
      "cells": [
        "Security evidence",
        "10",
        "3",
        "5",
        "3"
      ]
    },
    {
      "_key": "k477",
      "_type": "tableRow",
      "cells": [
        "Hosting and residency fit",
        "10",
        "3",
        "4",
        "4"
      ]
    },
    {
      "_key": "k478",
      "_type": "tableRow",
      "cells": [
        "Exit path",
        "15",
        "2",
        "3",
        "5"
      ]
    },
    {
      "_key": "k479",
      "_type": "tableRow",
      "cells": [
        "Weighted total",
        "100",
        "3.80",
        "3.70",
        "3.45"
      ]
    }
  ]
}
```

The reasoning behind each score:

- **Viktor:** Approval cards before refunds and a panel built from a request score 5 on fit and effort. Postgres connects through his [PostgreSQL integration](https://viktor.com/integrations/postgresql), with the refund query still to prove on real data (4), SOC 2 is [Type 1](https://viktor.com/security) (3), and no app export is documented (2).
- **Retool:** Native Postgres and REST score 5, SOC 2 Type 2 plus ISO 27001 score 5, and audit logs arrive on Business (4). Someone still has to build the panel (2), and Git source control is Enterprise only (3).
- **Appsmith:** The Apache 2.0 license with Git and JSON export scores 5 on exit, and custom roles on Business score 4. The 2022 Type II announcement scores 3, and the team still has to build (2).

A team that must self-host would weight hosting at 25 or more and get a different result. Rerun the weights with your own team before trusting the totals. [Run the same refund panel through Viktor during the pilot, free with up to $100 in credits and no credit card →](https://app.viktor.com/signup)

## Run a two-week pilot, then roll out with governance

A two-week pilot covers one workflow from the map, on real data, with the people who will use it daily. Gartner advises documenting the gaps that block scale and sharing lessons learned to secure sponsorship ([Gartner](https://www.gartner.com/en/articles/future-of-work-trends)).

Set the pilot up with these elements:

- **Scope:** One workflow, one data source in read mode, one write path behind an approval.
- **Environments:** Separate staging from production data on day one; Retool’s Team plan includes staging and production (Retool pricing).
- **Success criteria:** Your current handling time and error count for the workflow, measured before day one, compared with the same measures in week two.
- **Reviewers:** The data owner, a security reviewer with the SOC 2 report in hand, an engineer who reviews any write or code change, and two or three daily users.
- **Exit test:** Export the app and redeploy it outside the vendor in week two.
- **Commercial terms:** Pricing locked in writing for the pilot and the first contract year.

After the pilot, add teams and apps under written rules. ServiceNow’s citizen development workbook recommends an intake system with consistent demand guidelines that weigh an app’s value against its cost and effort (ServiceNow). Pair intake with Shell’s green, amber and red zones, an owner named for every app, and a quarterly access review.

[Planning a company-wide rollout? Talk to the Viktor team about onboarding, security review and spend controls →](https://viktor.com/contact-sales)

## Common mistakes to avoid

Each mistake below has a documented example and one fix:

- **Vendor-first picks:** A demo shows a vendor’s best app, not your workflow. Write the workflow map before the first sales call and score every builder against it.
- **Ignoring seat and usage units:** Appsmith bills members added mid-cycle for the full month (Appsmith pricing), and Budibase Cloud actions are hard monthly limits (Budibase pricing). Price the worksheet at 12-month headcount and volume.
- **Skipping permissions:** Retool lists SSO, SCIM and 2FA as not included on Free, Team and Business (Retool pricing). List required controls first and confirm the tier that carries them before the pilot.
- **No exit plan:** Running a Superblocks app outside Superblocks depends on documentation still marked “coming soon” (Superblocks). Export and redeploy the pilot app before signing.
- **Overbuilding:** McKinsey notes that experienced developers are still needed to monitor and debug nondeveloper apps ([McKinsey](https://www.mckinsey.com/~/media/mckinsey/business%20functions/mckinsey%20digital/our%20insights/the%20top%20trends%20in%20tech%202024/mckinsey-technology-trends-outlook-2024.pdf)). Ship the smallest version that removes the manual step, and add screens only after users ask.

## FAQ

Trackers, refund panels and production-data tools need different levels of customization, integration testing, cost review and ownership.

### Is no-code enough, or should a team build custom?

No-code is enough for simple, noncritical apps such as trackers and read-only dashboards, which matches Gartner’s definition of [citizen development platforms](https://www.gartner.com/reviews/market/citizen-application-development-platforms). Custom development fits apps that move money or touch production data and that an engineering team will maintain for years.

### How should a team check integrations before buying?

Run the panel’s real query against a read-only replica, then one approved write, in a trial account. Check rate limits, staging and production separation per connector, and what credentials an app export carries.

### What hidden costs appear after the entry plan?

Tier jumps for SSO and audit logs, end-user limits, overage on runs or actions, self-hosting infrastructure and engineer hours for upgrades make up most of the gap. Price all of them at the headcount expected in 12 months.

### Is self-hosting safer than cloud?

No, self-hosting moves patching, upgrades and backups to your team, so it is only as safe as your operations. Self-host when a residency or network rule requires it and an engineer owns the upgrade schedule.

### How does a team know it has outgrown a builder?

The signs are apps that need features from a tier you cannot justify, workarounds in custom code that nobody can review, and connectors that fail at production volume. When two of these appear, rerun the scoring matrix with current weights.

### Should engineering or operations own internal tools?

Both, split by risk. Operations owns low-risk apps end to end, while engineering reviews anything that writes to production data or moves money, following a [green, amber and red model](https://www.forrester.com/blogs/how-shell-led-a-citizen-developer-movement) like Shell’s.

[Hire your first AI employee: start free with up to $100 in credits, no credit card →](https://app.viktor.com/signup)